骆驼:是否可以在给定时间使用计时器组件来安排日常任务?

问题描述 投票:0回答:1

我们出于相同目的使用石英。

我跨过Timer组件,但是找不到在给定时间触发Timer的任何代码,但是Timer不断轮询。就像我希望计时器每天执行12:10。

以下示例,但对工作安排没有帮助:

Date future = new Date(new Date().getTime() + 1000);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String time = sdf.format(future);

fromF("timer://simpleTimer?time=%s&pattern=dd-MM-yyyy HH:mm:ss", time)
  .setBody(simple("Hello from timer at ${header.firedTime}"))
  .to("stream:out");

您能帮我配置定时器吗?

apache-camel quartz-scheduler timertask
1个回答
0
投票

尝试将time属性设置为12:10,将fixedRate属性设置为true,将period属性设置为1天(请参阅Timer component propeties)。

此外,如果您使用的是Camel 3.x,我的建议是使用类型安全的端点DSL,这将有助于避免配置错误。示例:

URI字符串端点

from("timer:click?period=3000&fixedRate=true")
    .to("seda:foo?blockWhenFull=true");

端点DSL

from(timer("click").period(3000).fixedRate(true))
    .to(seda("foo").blockWhenFull(true));
© www.soinside.com 2019 - 2024. All rights reserved.