骆驼的Java DSL通bean方法的返回值到头
问题描述:
爪哇 - Apache的骆驼2.17 JAVA DSL骆驼的Java DSL通bean方法的返回值到头
我的路线过程中的数据并返回其加工的日期,我想通过从myBean.processData
返回日志List<LocalDate>
和设置头。
下面是我的代码
from("route1")
.bean("myBean","processData")
.log("how do i log the response of processData return")
. setHeader("processDataReturnValue") // how can pass processData return
值到头?
答
下面的代码是你在找什么:
from("route1")
.bean("myBean","processData")
.log("***** processData return value: ${body.toString()} *****")
.setHeader("myHeader", body());
从 “骆驼在行动” CH。 4.使用豆骆驼:
“在运行时,骆驼交换路由,并在路线的特定点,到达BeanProcessor的BeanProcessor然后处理交换,执行这些常规步骤:
- 中查找在注册表中的豆
- 选择来调用豆
- 绑定到所选择的方法的参数(例如该方法中,利用作为参数的输入消息的主体;该覆盖详见4.5节)
- 调用该方法
- 把手发生(从bean抛出的异常将被放在骆驼换取进一步的错误处理设置)作为对身体
-
设置方法的答复(如果有的话)的任何调用错误
@Component public class MyBean { public List<LocalDate> processData(Exchange exchange) { return Lists.newArrayList(LocalDate.now(), LocalDate.now().minusYears(1L)); } }
PS:在骆驼交换输出消息
我已经采用为myBean类似测试的路线我会考虑隐藏日志记录,在处理器中设置头文件和实际的bean调用。