我正在尝试捕获apache camel路由器的开始时间和结束时间。 我们正在使用camel进行消息传递,我们已经实现了soap服务,而且石英是在下面的骆驼路由器中
public class BbdDmsBatchRoute extends RouteBuilder{
@BeanInject
private BbdImageProcessorBean bbdImageProcessorBean;
@BeanInject
private SwtDEAStockProcessorBean swtDEAStockProcessorBean;
@Value("${bbd.batch.enabled}")
private String isBatchEnabled;
@Value("${bbd.dmsStockBatch.interval}")
private String bbdDmsBatchInterval ;
private static final Logger LOG = LoggerFactory.getLogger(BbdDmsBatchRoute.class);
@Override
public void configure() throws Exception {
//***********Batch Job to get BBD images**************//
// This Batch Job will run based on time given in properties file for "bbd.batch.interval" property (bbd.batch.interval=0+0+12+1/1+*+?+*)
LOG.info("BBD Batch Job Cron expression {}",bbdDmsBatchInterval);
from("quartz2://STouchDmsBatch/bbdDailyJob?cron="+ bbdDmsBatchInterval)
.choice()
.when(simple(isBatchEnabled))
.doTry()
.bean(bbdImageProcessorBean, "bbdReRunDmsBatchInvocation")
.split(bodyAs(List.class)) //Split each object in list and process in parallel
//.executorServiceRef("executerRefProfile").parallelProcessing()
.to("direct:batchJobRouteUnitWork")
.end()
.endDoTry()
.doCatch(Exception.class)
.to("direct:BbdReRunError")
.end();
}
}
我想计算当我的quartz2:StouchDmsBatch被触发时的startime和当路由完成时没有任何异常的endTime。
我红色的几个例子,告诉使用camel拦截器,EventSupport等。 我想知道是否有人实施了相同的? 有人可以帮我这个吗?
答案 0 :(得分:0)
您可以将此类添加为bean。然后启用您感兴趣的事件。然后,您可以查看每个步骤需要多长时间。 http://camel.apache.org/eventnotifier-to-log-details-about-all-sent-exchanges.html
答案 1 :(得分:0)
请参阅..如果您只想在某个时刻捕获当前时间,然后在某处使用它进行日志记录...您可以将当前时间存储在交换属性中,然后在任何您喜欢的地方使用它。