在Apache Camel中,我将计时器组件配置为每15分钟触发一次作业。假设由于数据加载而花费了15分钟以上的作业来完成任务,那么由于我们已配置为每15分钟运行一次作业,因此该作业会受到下一个作业的影响。
答案 0 :(得分:1)
正如克劳斯已经评论过的那样,Camel Timer component的选项fixedRate
控制着它。术语fixedRate
与Javas ScheduledExecutorService
相同。
默认值为fixedRate=false
。这意味着计时器使用ExecutorService的 fixed-delay execution
。例如
delay=30000&period=60000&fixedRate=false
表示任务在启动后30秒钟首次运行。此后,新任务将在上一个任务完成后的60秒后开始。任务永远不会重叠。
相反,fixedRate=true
切换到ExecutorService的 fixed-rate execution
。例如
delay=30000&period=60000&fixedRate=true
表示任务在启动后30秒钟首次运行。 每60秒钟之后,无论任务运行多长时间,都会启动一个新任务。因此,在此设置中,任务可以重叠。