【发布时间】:2015-06-30 13:22:34
【问题描述】:
我想使用camel->quartz组件来安排一些工作在指定的时间间隔内完成。
但我希望以同步的方式进行。意味着,计划作业的下一次执行应仅在当前执行完成后开始。
我为 Servicemix 创建了路由和调度服务。
QuartzRoute.java
public class QuartzRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("quartz://myGroup/myTimerName?cron=0/1+*+*+*+*+?").process(new SchedulerService());
}
}
SchedulerService.java
public class SchedulerService implements Processor {
public void process(Exchange exchange) throws Exception {
System.out.println("I'm running every 5 sec...");
Thread.sleep(5000);
System.out.println("Exiting iteration ");
}
}
在这里,我希望每次都以相同的顺序打印“我每 5 秒运行一次...”和“退出迭代”。 在排序中,我希望仅在当前执行完成后再次执行此 SchedulerService。
【问题讨论】:
标签: java apache-camel quartz-scheduler apache-servicemix