gpt4 book ai didi

java - 在 Camel 范围之外传递正文消息

转载 作者:行者123 更新时间:2023-11-30 02:50:07 25 4
gpt4 key购买 nike

到目前为止,我的经验告诉我,消息中的正文总是会随着对其进行的任何处理而改变。所以现在我总是处理数据,最后结果总是出现在 body 上,我可以将其进行进一步处理。

目前我正在经历一些奇怪的事情 - 或者,不奇怪,但我不习惯的事情。

我正在使用以下路线

<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 方法添加列表中的所有对象,因此我不能仅处理单个条目。

如何传递“内部”处理的结果,将其从外部传递回原始调用路由?

最佳答案

分割之后,例如</split>之后Camel 默认使用发送到拆分器的原始消息。

如果您想使用其他内容,请使用 aggregationStrategy在拆分器上构建您想要的消息,例如最后拆分的消息或其他内容。

请参阅 Camel 文档中的更多详细信息:http://camel.apache.org/splitter

关于java - 在 Camel 范围之外传递正文消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38973636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com