“period”和“fixedRate”的确切用法是什么?这是否真的有意义,因为如果我指定了“期间”值,那么无论如何计时器将在该间隔之后触发。那么“fixedRate”标志的确切用法是什么??
我很困惑请帮帮我!
答案 0 :(得分:4)
您可以在以下位置阅读java.util.Timer的javadoc api:http://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
他们解释了固定利率和延迟利率之间的区别。
答案 1 :(得分:1)
Camel Timer 端点使用 java.util.Timer
。
如果您将 fixedRate
标志设置为 true
,则使用以下方法:
java.util.Timer#scheduleAtFixedRate(java.util.TimerTask, java.util.Date, long)
否则使用以下方法:
java.util.Timer#schedule(java.util.TimerTask, java.util.Date, long)
如果我理解 Javadoc of the Timer class 固定速率执行不关心前一次执行的执行时间,只关心初始执行的执行时间。
举例说明:
以固定速率执行的计时器为例,初始执行时间为 12:00,周期为 1 小时。计时器将(尝试)在 14:00 开始第三次执行 - 即使出于某种原因,本应在 13:00 开始的执行被延迟并实际在 13:06 开始。
如果计时器没有有固定速率执行,它会(尝试)在 14:06 开始第三次执行。