gpt4 book ai didi

xml - 拆分 apache Camel 后恢复 header 值

转载 作者:行者123 更新时间:2023-12-05 05:26:29 29 4
gpt4 key购买 nike

我有一个 xml,我在其中使用 split 标记在 Spring DSL 中进行处理。我所做的基本上是在 xml 中搜索一个值,当我找到这个值时,我需要获取另一个标签的值,同一元素的子元素并保存到标题中。这个操作看起来很简单,但我无法在 split 之外恢复我的标题,我需要这样做。我尝试了 header 和属性,结果是一样的。

请帮我弄清楚我做错了什么。

代码示例:

<route>
...
<split>
<xpath>//FatherTag/ChildTag</xpath>
<to uri="direct:processingRoute"/>
</split>

</route>

<route>
<from uri="direct:processingRoute"/>
<choice>
<when>
<simple>....</simple>
<setHeader headerName="foo">
<constant>test</constant>
</setHeader>
</when>
</choice>

</route>

最佳答案

您需要定义一个AggregationStrategy。来自 Camel Splitter :

What the Splitter returns

Camel 2.3 and newer:

The Splitter will by default return the original input message.

For all versions

You can override this by suppling your own strategy as an AggregationStrategy.

您的 AggregationStrategy 需要为每个子标签检查适当的 header 集,并将其传递到生成的 Exchange 输出消息上以进行拆分操作。

关于xml - 拆分 apache Camel 后恢复 header 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25608310/

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