我正在 Java 网络应用程序中使用 quartz 实现。我们已经实现了 TriggerListener 类,因此当触发器触发时,它会调用 vetoJobExecution(Trigger trigger, JobExecutionContext jobExecutionContext) 方法。我们检查一个引用表以查看该作业是否应该运行。所有这一切都很好。
损坏的部分是作业是否不应运行,因此 vetoJobExecution 方法返回 false。发生这种情况后,触发器将永远不会再次触发。这是我不明白的部分。似乎触发器应该继续触发,并且应该继续调用 vetoJobExecution 方法以查看作业是否应该运行。这根本不会发生 - 一旦作业被否决,触发器就不会再次触发并且永远不会调用 vetoJobExecution 方法。
我们使用的是 Quartz 1.5.2(是的,我知道它很旧)。
不使用 TriggerListener 接口(interface)运行 quartz 作业,但下次仍然触发触发器的正确策略是什么?
请您参考如下方法:
通过升级到版本 1.7.3 修复。