Quartz scheduler 石英火作业立即停止';行不通

Quartz scheduler 石英火作业立即停止';行不通,quartz-scheduler,spring-java-config,Quartz Scheduler,Spring Java Config,我将quartz 2和spring 4与maven和java注释集成在一起(使用servlet 3),并且使用tomcat 7 maven插件部署我的项目,我的quartz配置类如下所示: 我的职业类别定义如下: 然后,我使用quartz调度程序立即使用fire my job触发器,如下所示: 但我的问题是:当我使用“job1”、“mygroup”参数调用fireNow methode时,什么都不会发生,我的job1不会立即调用,也不会在控制台中打印任何内容,我还跟踪我注意到的db表 在m

我将quartz 2和spring 4与maven和java注释集成在一起(使用servlet 3),并且使用tomcat 7 maven插件部署我的项目,我的quartz配置类如下所示:

我的职业类别定义如下:

然后,我使用quartz调度程序立即使用fire my job触发器,如下所示:

但我的问题是:当我使用“job1”、“mygroup”参数调用fireNow methode时,什么都不会发生,我的job1不会立即调用,也不会在控制台中打印任何内容,我还跟踪我注意到的db表 在mysql中运行fireNow方法后,在我的qrtz_触发器表中插入新行:


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

scheduler.start();
如果Quartz scheduler启动成功,您应该在日志或控制台输出中看到如下类似的信息

[main]INFO org.quartz.core.QuartzScheduler-调度器元数据:quartz调度器(v2.2.1)
'org.springframework.scheduling.quartz.SchedulerFactoryBean#0',instanceId为'MyScheduler'
调度器类:“org.quartz.core.QuartzScheduler”-在本地运行。
没有开始。
当前处于待机模式。
执行的作业数:0

使用线程池'org.quartz.siml.SimpleThreadPool'-和10个线程。
使用不支持持久性的作业存储“org.quartz.siml.RAMJobStore”。并且不是群集的。
。。。

[main]INFO org.quartz.core.QuartzScheduler-启动

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


我在POM中添加了quartz 2.2.1依赖项,但我在2.1.7版本中使用了quartz sql查询,quartz jar和quartz sql查询版本之间的不匹配导致缺少一些表,如SCHED_TIME。

fireNow是否会执行。那是在一段时间之后。您是否考虑到DB I/O可能是延迟的原因。因为正在从DB事务读取调度程序属性。您是否能够从数据库中加载quartz而不需要任何单独的配置,就像您在这里尝试做的那样。我在启动作业之前使用了Scheduler.start(),但没有发生任何事,我想我错过了将quartz和spring与java配置集成的一些配置,像spring applicationContex之类的东西对吗?我认为spring没有意识到我的quartz调度程序,而且我的cronTrigger配置根本不起作用只要注意你的cron“0 0/5*1/1*?*”,你的作业应该在月的第一天触发。如果您希望每天触发作业,请将其更改为“0 0/5***?*”。在日志或控制台输出中,如果Quartz启动,您应该看到Quartz启动信息。