【原創】camel Timer組件,分析其源代碼,是基于JDK java.util.Timer類的功能實現。
用于實現:定時執行業務任務。
URI 格式:
timer:[name]?[options]
options="time=xxx&pattern=xxxx&period=xxxx....................."
選項定義:
time:第一次執行的時間,與pattern同時使用。例如:2018-12-01 23:44:00,表示將在2018-12-01 23:44:00這個時間第一次開始執行。
pattern:自定義時間點格式,選項:yyyy-MM-dd HH:mm:ss, yyyy-MM-dd'T'HH:mm:ss,默認yyyy-MM-dd'T'HH:mm:ss
period:間隔執行時間,默認1000表示1秒執行一次,也可以定義60s等格式,為0時表示只執行一次。
delay:第一次執行延遲,例如:50000,將延遲5秒執行第一次,后面根據period執行。
fixedRate:是否間隔循環執行。默認為true,表示循環執行。
daemon:是否設置為守護線程,具體有什么特別的作用,暫時不清楚,歡迎同學評價這一點。
repeatCount:重復執行次數。
例如:
from("timer://foo?fixedRate=true&period=60000").to("bean:myBean?method=someMethodName");
表示60秒執行一次,循環執行。
源代碼:可見camel-core-2.23.0.jar->org.apache.camel.component.timer.TimerComponent