26.5. 使用方法
组件可用于在指定时间触发事件,如下例所示:
from("cron:tab?schedule=0/1+*+*+*+*+?")
.setBody().constant("event")
.log("${body}");
调度表达式 0/3+10+*+? 也可以写为 0/3 10 * * ?,且仅在每小时的十分钟内每三秒触发一次事件。
调度表达式中的各部分表示(按顺序):
- seconds (可选)
- 分钟
- 几小时
- 月日期
- 月
- 星期几
- year (可选)
调度表达式可由 5 到 7 部分组成。当表达式由 6 个部分组成时,第一个项目是"秒"部分(并被视为缺失年)。
调度表达式的其他有效示例有:
-
0/2 * * * ?(5 部分,每两分钟一个事件一次。) -
0 0/2 * * MON-FRI 2030(7 个部分,每两分钟有一个时间为 2030 的事件)
也可以使用 XML DSL 编写路由。
<route>
<from uri="cron:tab?schedule=0/1+*+*+*+*+?"/>
<setBody>
<constant>event</constant>
</setBody>
<to uri="log:info"/>
</route>