42.11. 配置错误指令
可以使用错误指令配置 quartz 调度程序,以处理触发的错误情况。您正在使用的 concrete 触发器类型将定义一组额外的 MISFIRE_INSTRUCTION_XXX 常数,可以设置为此属性的值。
例如,要将简单触发器配置为使用错误指令 4:
quartz://myGroup/myTimerName?trigger.repeatInterval=2000&trigger.misfireInstruction=4
quartz://myGroup/myTimerName?trigger.repeatInterval=2000&trigger.misfireInstruction=4
同样,您也可以使用一个错误指令配置 cron 触发器:
quartz://myGroup/myTimerName?cron=0/2+*+*+*+*+?&trigger.misfireInstruction=2
quartz://myGroup/myTimerName?cron=0/2+*+*+*+*+?&trigger.misfireInstruction=2
simple 和 cron 触发器有以下错误指令代表:
指示发生错误情况的调度程序,只需由调度程序触发 SimpleTrigger。
此指令通常仅应用于"one-shot" (非重复)触发器。如果它用于带有重复数 > 0 的触发器,则它等同于指令 MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT。
指示发生错误情况的调度程序,SimpleTrigger 希望重新调度到"现在" (即使相关的 Calendar 排除"now),带有重复计数(即使相关的 Calendar 排除为"now))。这会使 Trigger 端到端,因此如果 "now' 在结束后,Trigger 不会再次触发。
使用这个指令会使触发器 'forget' 开始和重复计数,它是最初通过 设置的(如果您出于某种原因希望能够告诉稍后出现什么原始值)时,这才有问题。
指示发生错误情况的调度程序,简单触发器希望重新调度到"现在" (即使相关的 Calendar 排除了 'now'),并将重复数设置为该情况(如果尚未错过任何触发)。这会使 Trigger 端到端,因此如果 "now' 在结束后,Trigger 不会再次触发。
使用这个指令会使触发器 'forget' 开始时间,并重复其最初设置的时间。相反,触发器上的重复计数将更改为任何剩余的重复计数(只有在出于某种原因时才有问题是这样,希望在以后会知道原始值是什么)。
如果出现 "now',则此指令可能会导致 Trigger 进入 'COMPLETE' 状态,如果缺少所有重复时间。
指示发生错误情况的调度程序,只需在"现在"后重新调度到下一个计划时间 - 考虑任何关联的 Calendar,并将重复计数设置为该情况(如果尚未错过任何触发)。
如果缺少所有 fire-times,则此指令可能会导致 Trigger 直接进入 'COMPLETE' 状态。
指示发生错误情况的调度程序,只需在"现在"后重新调度到下一个计划时间 - 考虑任何关联的 Calendar,并且重复计数保持不变。
如果触发器的结束时间到达,则此指令可能会导致 Trigger 直接进入 'COMPLETE' 状态。
指示在某种情况出现 CronTrigger 的调度程序希望由调度程序触发。
42.11.7. CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING = 2 复制链接链接已复制到粘贴板!
指示在发生错误情况时的调度程序,CronTrigger 希望在当前时间后(考虑任何关联的 Calendar 被考虑任何关联的 Calendar )使其在下次计划中更新。