我有一个简单的驼峰路线我需要修改。路线看起来像这样:
from(source.uri)
.unmarshal()
.bean(TransformMessageBean.class, "SomeMethod")
.to(destination.uri)
我想在解组后添加另一个bean方法调用,设置标题值而不中断当前数据流。有谁知道这样做的方法?我在apache的文档中读到,在出站消息体中设置了bean的返回值。有没有办法将其更改为标题?
提前致谢!
答案 0 :(得分:9)
当然!其中一个选项是
.setHeader("headerName").method(beanInstance, "methodToGetHeaderValue")
使用这种方法,提供的bean实例上的方法(比如methodToGetHeaderValue
)将返回一个值,该值将成为标题的值。
有许多选择。您可以使用或不使用方法名称将其称为with a bean instance,a bean class(如您的示例中所示),甚至是a bean name。
答案 1 :(得分:4)
在Spring XML DSL中,它就像
<setHeader headerName="headerName">
<method bean="mybean" method="mymethod" />
</setHeader>
答案 2 :(得分:1)
XML的另一种方式:
<setHeader name="headerName">
<simple>${bean:yourBean.getMethod}</simple>
</setHeader>