Quartz调度程序:Vetoing作业执行会导致触发器再也不会触发

时间:2012-08-03 17:38:10

标签: quartz-scheduler

我正在使用Java Web应用程序中的石英实现。我们已经实现了TriggerListener类,因此当触发器触发时,它会调用vetoJobExecution(Trigger trigger,JobExecutionContext jobExecutionContext)方法。我们检查参考表以查看作业是否应该运行。所有这一切都很好。

被破坏的部分是作业不应该运行,所以vetoJobExecution方法返回false。在那之后,触发器将永远不会再次触发。这是我不理解的部分。看起来触发器应该继续触发,并且应该继续调用vetoJobExecution方法以查看作业是否应该运行。这根本不会发生 - 一旦裁决被裁定,触发器不会再次触发,并且永远不会调用vetoJobExecution方法。

我们正在使用Quartz 1.5.2(是的,它已经老了,我知道)。

使用TriggerListener接口运行石英作业而不是的正确策略是什么,但下次仍然触发了触发器?

1 个答案:

答案 0 :(得分:2)

通过升级到1.7.3版本来修复。