实施StatefulJob时“延迟”是什么意思?

时间:2011-05-19 14:18:32

标签: java jboss seam quartz-scheduler

我已经知道当使用quartz并且我们不想要并发作业时,我们需要实现StatefulJob并且作业不会同时运行但是我想知道在执行完成之前发生的新触发是什么意思(xx )方法会推迟吗?这是否意味着一旦作业完成,延迟的那个被立即触发,或者只是被跳过并等待下一次触发? 另外,我想保留每个触发器的记录,因为它已经在运行,因此石英会以某种方式告诉我这些信息吗?

1 个答案:

答案 0 :(得分:4)

“延迟”意味着即使下一次开火时间已到,Quartz也不会选择触发触发器。

一旦正在运行的作业实例完成,触发器将再次成为触发的候选者,如果下一个触发时间到达(或过去),它将被触发。

需要注意的是,被阻止的触发器会受到失火处理的影响。如果它被阻止的时间超过配置的失火阈值(默认为1分钟),则将应用触发器的失火指令,这取决于您为该触发器选择的指令,可能导致触发器触发中的跳过,或者可能导致快速重复(试图赶上)。

您可以实现TriggerListener以通知失火,但是没有任何事件仅仅是因为触发器被阻止执行。