Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        9个月前关闭。
                                                                                            
                
        
在Apache Camel中,我将计时器组件配置为每15分钟触发一次作业。假设由于数据加载而完成工作超过15分钟的任何作业,由于我们已配置为每15分钟运行一次作业,因此该作业会受到下一个作业的影响。

最佳答案

正如克劳斯(Claus)所说,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秒,无论任务运行多长时间,都会启动一个新任务。因此,在此设置中,任务可以重叠。

10-07 13:20