[英]Passing body message outside the scope in Camel
直到现在,我的经验告诉我,消息中的正文始终会随着对其进行的任何处理而发生变化。 因此,到目前为止,我始终会处理数据,最后结果始终会显示在主体上,可以将其用于进一步处理。
目前,我正在经历一些奇怪的事情-或不奇怪,但是我没有习惯过。
我正在使用以下路线
<route>
<from uri="activemq:queue:add"/>
<split>
<simple>${body}</simple>
<bean ref="pool" method="add(${body.getId},${body.getText})"/>
<log loggingLevel="INFO" message="GOOD BODY ${body}"/>
</split>
<log loggingLevel="INFO" message="BAD BODY of type of argument of add method ${body}"/>
</route>
而且我至少要访问add方法的结果,如GOOD BODY日志中所示,但是最后,由于某种原因,后来的主体由于某种原因与被调用方法add的原始参数交换了。
我在这里工作在拆分ArrayList上,但是无论如何最终我只需要一个结果就可以进行单项输入。 另外,我需要使用add方法添加列表中的所有对象,因此我不能仅对单个条目进行操作。
如何将“内部”处理的结果传递给外部,再传递给始发的呼叫路由?
分割后,例如</split>
骆驼默认使用发送到分割器中的原始消息。
如果要使用其他内容,请在拆分器上使用aggregationStrategy
构建所需的消息,例如最后拆分的消息或其他内容。
在Camel文档中查看更多详细信息: http : //camel.apache.org/splitter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.