石英火灾工作立即起作用

时间:2015-07-24 11:22:41

标签: quartz-scheduler spring-java-config

我使用maven和java注释(使用servlet 3)集成了quartz 2和spring 4,我也使用tomcat 7 maven插件来部署我的项目,我的石英配置类如下所示:

enter image description here

我的作业类定义如下:

enter image description here

然后我使用石英计划程序立即使用fire我的作业触发器,如下所示:

enter image description here

但我的问题是:当我用" job1"来调用fireNow方法时," mygroup"参数没有任何反应,我的job1不立即打电话,不在控制台打印任何东西,我也跟踪我注意到的数据库表 在运行fireNow方法后,将新行插入mysql中的qrtz_triggers表中:

enter image description here

2 个答案:

答案 0 :(得分:1)

如果未将Quartz调度程序设置为自动启动。你需要明确地开始它。

scheduler.start();

如果Quartz调度程序启动成功,您应该在日志或控制台输出中看到类似如下信息。

[main] INFO org.quartz.core.QuartzScheduler - 调度程序元数据:Quartz Scheduler(v2.2.1)
' org.springframework.scheduling.quartz.SchedulerFactoryBean#0'使用instanceId' MyScheduler'
日程安排课程:' org.quartz.core.QuartzScheduler' - 在当地运行。
没有开始。
目前处于待机状态。
执行的工作数量:0

使用线程池' org.quartz.simpl.SimpleThreadPool' - 有10个线程。
使用job-store' org.quartz.simpl.RAMJobStore' - 不支持持久性。并没有聚集。
...
[主要] INFO org.quartz.core.QuartzScheduler - 开始

答案 1 :(得分:0)

最后我找到了我的问题的解决方案,在启用quartz log4j(在我的log4j.properties中添加log4j.logger.org.quartz = DEBUG)之后,我在控制台中看到了jdbc异常,与使用过时的quartz-query相关的异常。

我在我的POM中添加了石英2.2.1依赖,但是我使用石英sql查询2.1.7版本,石英jar和石英sql查询版本之间不匹配导致丢失一些像SCHED_TIME这样的表。