需要明确骆驼计时器组件的及时处理

时间:2019-05-08 06:26:25

标签: java apache-camel spring-camel

在Apache Camel中,我将计时器组件配置为每15分钟触发一次作业。假设由于数据加载而花费了15分钟以上的作业来完成任务,那么由于我们已配置为每15分钟运行一次作业,因此该作业会受到下一个作业的影响。

1 个答案:

答案 0 :(得分:1)

正如克劳斯已经评论过的那样,Camel Timer component的选项fixedRate控制着它。术语fixedRateJavas 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秒钟之后,无论任务运行多长时间,都会启动一个新任务。因此,在此设置中,任务可以重叠。