Верблюд: можно ли планировать ежедневные задачи, используя компонент таймера в данное время? - PullRequest
0 голосов
/ 09 марта 2020

Мы используем Кварц для той же цели.

Я просматриваю компонент таймера, но не могу найти код, который запускает таймер в данное время, но таймер постоянно опрашивает. Как я хочу, чтобы таймер выполнялся ежедневно 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");

Можете ли вы помочь мне настроить таймер для того же

1 Ответ

0 голосов
/ 09 марта 2020

Попробуйте установить атрибут time в 12:10, fixedRate в true и period в 1 день (см. Свойства компонента таймера ).

Кроме того, если вы используете Camel 3.x, я рекомендую использовать безопасную для типов Endpoint 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));
...