2014-05-12 45 views
0

我已经使用jdbcjobstore来坚持数据库中的作业。我的工作正在成功存储,但未执行。这才是我的quartz.properties文件:作业执行和持久性

org.quartz.scheduler.instanceName = MieScheduler 
org.quartz.threadPool.threadCount = 5 
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX 
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate 
org.quartz.jobStore.tablePrefix = QRTZ_ 
org.quartz.threadPool.class =  org.quartz.simpl.SimpleThreadPool 
org.quartz.scheduler.skipUpdateCheck= true 
org.quartz.jobStore.dataSource = myDS  
org.quartz.dataSource.myDS.driver=com.mysql.jdbc.Driver 
org.quartz.dataSource.myDS.URL=jdbc:mysql://localhost:3306/SCHEDULER_DB 
org.quartz.dataSource.myDS.user=root 
org.quartz.dataSource.myDS.password=user 
org.quartz.dataSource.myDS.maxConnections=8 
org.quartz.plugin.jobInitializer.class =org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin  
org.quartz.plugin.jobInitializer.fileNames = quartz-config.xml 
org.quartz.plugin.jobInitializer.failOnFileNotFound = true 

我可以看到QRTZ_SIMPLE_TRIGGERS表中的记录,但不更新列TIMES_TRIGGERED值指示不执行作业。如何解决这个问题?

回答

0

我会检查的第一件事是调度器实际上是启动的。你可以在调试器中检查它,或者你可以启用对Quartz调度程序实例的远程JMX访问,并使用jconsole(或任何“quartz quartz gui”)来检查Quartz调度程序的运行时属性,包括当前状态。

启动调度:

如果你使用Spring,调度可以自动由Spring的SchedulerFactoryBean的的自动启动属性设置为true开始。

如果您手动实例化调度程序,则不要忘记调用调度程序实例的start方法。