gpt4 book ai didi

java - 在camel中,如何通过聚合策略中的aggregate()返回多个交换

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

在camel中,如何通过AggregateStrategy中的aggregate()返回多个交换。我编写逻辑来聚合两个 csv 文件,并且我想根据某些条件生成 3 个不同的文件,以便我想发送 3 个交换对象,并且我想将其发送到不同的路由器。

最佳答案

您实际上无法从聚合器返回多个交换。

但是,您可以让聚合器返回所有 CSV 记录的集合split他们,然后route根据您提到的情况,他们会选择三种不同的路线。

如果您愿意,您可以在每条路线上聚合过滤后的 CSV 记录。

<route id="mainRoute">
<from ... />
<!-- this is you aggregator that aggregates the two CSV files' records -->
<aggregate strategyRef="aggregatorStrategy">
...
<!-- split the resulting records (aggregator returned an exchange with a List body)-->
<split>
<simple>${body}</simple>
<choice>
<when>
<!-- your condition here -->

<!-- send to the first category route -->
<to uri="direct:firstCategoryRecords" />
</when>
<when>
<!-- your condition here -->

<!-- send to the second category route -->
<to uri="direct:secondCategoryRecords" />
</when>
<!-- same for third category -->
...
</choice>
</split>
</aggregate>
</route>

<route id="firstCategoryRecordsRoute">
<from uri="direct:firstCategoryRecords" />
<!-- aggregate the filtered CSV records into one file here -->
...
</route>

<!-- rest of the routes -->
...

关于java - 在camel中,如何通过聚合策略中的aggregate()返回多个交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26092871/

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