gpt4 book ai didi

java - 是否可以在拆分后修改消息或从另一个交换器检索 header

转载 作者:行者123 更新时间:2023-12-01 09:17:18 24 4
gpt4 key购买 nike

这是我的问题,我的分离器类如下:

public class MySplitterBean {

public List<Message> splitMessage(Message m) {
List<Message> answer = new ArrayList<Message>();
for (int i=0; i<3; i++) {
DefaultMessage message = new DefaultMessage();
message.setHeaders(m.getHeaders());
message.setBody(m.getBody());
answer.add(message);
}
return answer;
}
}

并且在 route :

<split strategyRef="someClassStrategy">
<method ref="mySplitterBean" method="splitMessage" />
<choice>
<when>
<simple>${property.CamelSplitIndex} == 0</simple>
<!-- 1. calculate something and store result in header, for example set header test=12345 -->
</when>
<otherwise>
<!-- 2. now how can I retrieve "test" header from above exchange (from splitIndex 0) -->
</otherwise>
</choice>
</split>

在其他 block 中,我有由 MySplitterBean 复制的消息对象,但我想以某种方式获取拆分后创建的“测试” header (在处理夹板索引 0 时)。所以我的问题是是否可能,以及如何使其发挥作用?

最佳答案

您可以在分割操作之前使用虚拟对象设置属性值。每个交换对象都可以通过引用调用来访问该对象。根据它的值,您需要一个额外的容器(例如列表)来保证您可以访问同一对象。

关于java - 是否可以在拆分后修改消息或从另一个交换器检索 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40451563/

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