我正在使用 Java Web 应用程序中的石英实现。我们已经实现了 TriggerListener 类,因此当触发器触发时,它会调用 vetoJobExecution(Trigger trigger, JobExecutionContext jobExecutionContext) 方法。我们检查参考表以查看作业是否应该运行。所有这一切都很好。
损坏的部分是作业是否不应运行,因此 vetoJobExecution 方法返回 false。在那之后,触发器将永远不会再次触发。这是我不明白的部分。似乎触发器应该继续触发,并且应该继续调用 vetoJobExecution 方法以查看作业是否应该运行。这根本不会发生 - 一旦作业被否决,触发器不会再次触发,并且永远不会调用 vetoJobExecution 方法。
我们使用的是 Quartz 1.5.2(是的,它很旧,我知道)。
让石英作业不使用 TriggerListener 接口运行但下次仍然触发触发器的正确策略是什么?