gpt4 book ai didi

java - Camel Quartz 在路由启动时路由不需要的作业执行

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:37 24 4
gpt4 key购买 nike

我有几条看起来像这样的路线:

from("quartz://" + getJobId() + "?cron=" + cronExpression + "&stateful=true")
.routeId(getJobId())
.autoStartup(false)
.to(getRouteTo());

可以从管理控制台启动和停止这些路由。我遇到的问题如下:

如果路由配置为每天 17:00 运行,目前如果我的路由在 17:00 之后启动,quartz 注意到它应该在 17:00 运行,并将尝试恢复错过的执行。

我不希望发生这种情况,我想要的是:

  • 我在第 1 天的 17:00 之前开始我的路线,作业将在第 1 天的 17:00 触发
  • 我在第 1 天的 17:00 之后开始我的路线,作业应该在第 2 天的 17:00 触发

这与我选择了一份有状态的工作有关吗?我选择了一个有状态的工作来避免同时执行同一个工作。

最佳答案

根据克劳斯的建议,也许以下内容可以作为 quartz 作业的参数(假设您使用的是 org.quartz.SimpleTrigger ):

trigger.misfireInstruction=org.quartz.SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT

编辑:根据土壤 worker 的评论,以上内容应为:

trigger.misfireInstruction=2

关于java - Camel Quartz 在路由启动时路由不需要的作业执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19241529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com