42.11. 配置错误指令


可以使用错误指令配置 quartz 调度程序,以处理触发的错误情况。您正在使用的 concrete 触发器类型将定义一组额外的 MISFIRE_INSTRUCTION_XXX 常数,可以设置为此属性的值。

例如,要将简单触发器配置为使用错误指令 4:

quartz://myGroup/myTimerName?trigger.repeatInterval=2000&trigger.misfireInstruction=4
Copy to Clipboard Toggle word wrap

同样,您也可以使用一个错误指令配置 cron 触发器:

quartz://myGroup/myTimerName?cron=0/2+*+*+*+*+?&trigger.misfireInstruction=2
Copy to Clipboard Toggle word wrap

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 )使其在下次计划中更新。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat