我试图在Java Bean的主体上设置一个属性,以构成通过骆驼路线传递的消息。我尝试了各种方法,例如
<route>
...
..
<transform>
<simple>${body.label} = ${property.label}</simple>
</transform>
...
..
</route>
在这种特殊情况下,它${body}
是带有setLabel(String label)
方法的Java Bean,并且${property.label}
通过其他方法在另一条路线中设置。在此示例中,结果不是理想的(我理解为什么),即在转换之后,消息的主体将替换为${body.label} = ${property.label}
字符串。
我目前的解决方法是手动将转换器编码为Spring bean,并在代码中设置Java bean的label属性,但是我想了解是否有更简单/更智能的方法来实现此目的,最好是在XML DSL中我用什么?
问候,奥拉
我不确定是否可以使用simple
,但您可以使用groovy
:
<setBody>
<groovy>request.body.label = exchange.getProperty('label')
return request.body
</groovy>
</setBody>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句