quartz的问题,tomcat重启报 java.lang.ClassNotFoundException
我说一下这个错误发生的情形,
照着网上一前辈的例子集成的,
<bean id="jobMonitorExecutor" class="org.springframework.scheduling.quartz.JobDetailBean"><property name="jobClass">
<value>
com.***.quartz.monitor.service.MyQuartzJobBean
</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="simpleService">
<ref bean="simpleService"/>
</entry>
</map>
</property>
</bean>
job信息是存到数据库中的,
当数据库没有存在job记录的时候,我在web上面添加job,没事,
当我的数据库中存在了一条记录后,
这时,我点击myeclipse的Console的那个 红色按钮 终止 tomcat运行,
再次启动tomcat的时候,会报
[2013-02-03 13:56:48]ERROR org.springframework.scheduling.quartz.LocalDataSourceJobStore(line:2884) -Error retrieving job, setting trigger state to ERROR.org.quartz.JobPersistenceException: Couldn't retrieve job because a required class was not found: com.smileframe.quartz.monitor.service.MyQuartzJobBean [See nested exception: java.lang.ClassNotFoundException: com.smileframe.quartz.monitor.service.MyQuartzJobBean]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1392)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggerFired(JobStoreSupport.java:2879)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$38.execute(JobStoreSupport.java:2847)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3760)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggerFired(JobStoreSupport.java:2841)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:342)
不知道各位前辈 谁遇到过这种情况。。
@红薯 大哥遇到过吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我也遇到这个问题了,初步认为是,首先,第一次web加载时,把任务序列化后再存到数据库中,之后加载时,从数据库中取任务时,再反序列化成com.smileframe.quartz.monitor.service.MyQuartzJobBean时,就报错了,原因就是那条数据没有序列化到对应的Bean。。。我也在研究这个问题,兄弟解决了回复一下~~~
不可能的,因为我的那个类就是在service包下的,有class的,
编译路径与运行路径不在同一个
大哥 这个真的没有写错,,我在我的类里面 按F2 然后复制进去的
回复
建议重新检查一下配置文件;或者跟踪调试一下,从异常信息上来看,就是没有找到需要加载的类
回复
好的,谢谢
com.smileframe.quartz.monitor.service.MyQuartzJobBean
检查一下这个包名,类名是否拼写错误?