Java - Apache Camel 2.17 JAVA DSL
我的路由处理数据并返回它处理的日期,我想将从List<LocalDate>
返回的myBean.processData
传递给日志并设置在标题中。
以下是我的代码
from("route1")
.bean("myBean","processData")
.log("how do i log the response of processData return")
. setHeader("processDataReturnValue") // how can pass processData return
标题值?
答案 0 :(得分:2)
您正在寻找以下代码:
from("route1")
.bean("myBean","processData")
.log("***** processData return value: ${body.toString()} *****")
.setHeader("myHeader", body());
From&#34; Camel in Action&#34; CH。 4.将bean与Camel一起使用:
&#34;在运行时,路由Camel交换,并且在路由中的给定点,它到达BeanProcessor。然后,BeanProcessor处理交换,执行以下一般步骤:
我使用MyBean测试了路线,类似于:
@Component
public class MyBean {
public List<LocalDate> processData(Exchange exchange) {
return Lists.newArrayList(LocalDate.now(),
LocalDate.now().minusYears(1L));
}
}
P.S。我会考虑在处理器中隐藏日志记录,设置标头和实际的bean调用。