当前位置: 代码迷 >> Java Web开发 >> Spring + quartz + MySQL,web项目重启以后,quartz自启成功但是并不恢复任务,怎么处理
  详细解决方案

Spring + quartz + MySQL,web项目重启以后,quartz自启成功但是并不恢复任务,怎么处理

热度:676   发布时间:2016-04-16 21:28:28.0
Spring + quartz + MySQL,web项目重启以后,quartz自启成功但是并不恢复任务,怎么办?
我的是web项目,用的Spring 3.0.5.RELEASE + quartz 1.8.6,现在已经可以将数据存储到MySQL中持久化,但是重启web项目以后quartz可以自启动成功,可是不能恢复存储到MySQL中的任务。
由于我的quartz任务需要页面手动创建,所以Spring的配置文件只有一行:

<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
lazy-init="false">
</bean>

<property name="autoStartup" value="true"/>我也试过,不过没用,一样是quartz启动,但是不恢复任务。

quartz.properties使用的JobStoreTX,在不使用Spring注入,直接使用web.xml配置org.quartz.ee.servlet.QuartzInitializerServlet时测试没有问题,重启工程也可以正确恢复任务,我没有额外的改动,文件如下:
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate  
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.tablePrefix = QRTZ_  
org.quartz.jobStore.isClustered = false  
# Configure Datasources 
#============================================================================ 
org.quartz.jobStore.dataSource = myDS
org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver 
org.quartz.dataSource.myDS.URL = jdbc:mysql://localhost:3306/quartz1x?useUnicode=true&characterEncoding=utf8 
org.quartz.dataSource.myDS.user = root 
org.quartz.dataSource.myDS.password =111111
org.quartz.dataSource.myDS.maxConnections = 10 


------解决思路----------------------
你所说的不恢复任务是指什么
  相关解决方案