我正在使用Java Web应用程序中的石英实现。我们已经实现了TriggerListener类,因此当触发器触发时,它会调用vetoJobExecution(Trigger trigger,JobExecutionContext jobExecutionContext)方法。我们检查参考表以查看作业是否应该运行。所有这一切都很好。
被破坏的部分是作业不应该运行,所以vetoJobExecution方法返回false。在那之后,触发器将永远不会再次触发。这是我不理解的部分。看起来触发器应该继续触发,并且应该继续调用vetoJobExecution方法以查看作业是否应该运行。这根本不会发生 - 一旦裁决被裁定,触发器不会再次触发,并且永远不会调用vetoJobExecution方法。
我们正在使用Quartz 1.5.2(是的,它已经老了,我知道)。
使用TriggerListener接口运行石英作业而不是的正确策略是什么,但下次仍然触发了触发器?
答案 0 :(得分:2)
通过升级到1.7.3版本来修复。