有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在实现StatefulJob时,“延迟”是什么意思?

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


共 (1) 个答案

  1. # 1 楼答案

    “延迟”意味着石英即使下一次点火时间已经到来,也不会选择点火触发器

    一旦正在运行的作业实例完成,触发器将再次成为触发的候选对象,如果下一次触发时间已到(或已过),则将触发

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

    您可以实现一个TriggerListener,以获得缺火通知,但没有一个事件仅仅是因为触发器被阻止执行