直奔主题:
<bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<!--shouldRecover属性为true,则当Quartz服务被中止后,再次启动任务时会尝试恢复执行之前未完成的所有任务-->
<property name="jobClass">
<value>com.richway.quartz.test.HelloWorld</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="simpleService">
<ref bean="simpleService"/>
</entry>
</map>
</property>
</bean>
执行调度任务的那个类调用了一个service,就是那个simpleService,但是后台启动的时候就报错了:
Caused by: java.io.NotSerializableException: Unable to serialize JobDataMap for insertion into database because the value of property 'simpleService' is not serializable: org.springframework.aop.aspectj.AspectJPointcutAdvisor
at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeJobData(StdJDBCDelegate.java:3355)
at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.updateJobDetail(StdJDBCDelegate.java:560)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1104)
... 39 more
说的貌似是spring包里面的类没有序列化,为什么要让spring里面的类实现序列化呢?莫不是要改jar包?
这个问题怎么解决,真心求教,若能解决,不甚感激。
quartz spring
------解决方案--------------------
类实现了序列号,去掉就行了。
------解决方案--------------------
这个类:JobDataMap 是不是没有实现接口java.io.Seriable这个接口吧。