直到现在,我的经验告诉我,消息中的正文总是随着任何处理而改变。所以现在我总是处理数据,最后结果总是出现在我可以进行进一步处理的主体上。
目前我正在经历一些奇怪的事情 - 或者,并不奇怪,但是我没有使用过。
我正在使用以下路线
<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的参数交换。
我在这里使用split ArrayList,但无论如何最终我只需要一个结果来进行单项输入。此外,我需要使用add方法添加列表中的所有对象,因此我不能仅处理单个条目。
如何通过“内部”处理结果将其传递回原始呼叫路由?