我有几条路线如下:
from("quartz://" + getJobId() + "?cron=" + cronExpression + "&stateful=true")
.routeId(getJobId())
.autoStartup(false)
.to(getRouteTo());
可以从管理控制台启动和停止这些路由。 我遇到的问题如下:
如果路线配置为每天17:00运行,那么如果我的路线在17:00之后开始, 石英注意到它应该在17:00运行并将尝试恢复错过的执行。
我不希望这发生,我想要的是:
这与我选择了一份有状态的工作有关吗? 我选择了一个有状态的工作来避免同时执行同一个工作。
答案 0 :(得分:1)
根据Claus的建议,也许以下内容可以作为石英作业的参数(假设你使用的是org.quartz.SimpleTrigger):
trigger.misfireInstruction = org.quartz.SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT
编辑:根据土壤工程师的评论,上述内容应为:
<强> trigger.misfireInstruction = 2 强>