首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apache camel aggregator2 -如何聚合两种消息类型中的每一种?

apache camel aggregator2 -如何聚合两种消息类型中的每一种?
EN

Stack Overflow用户
提问于 2012-04-25 03:13:31
回答 1查看 747关注 0票数 0

我有两种类型的消息(A和B)到达聚合器。如何将第一个到达的A与第一个到达的B相加?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-25 12:54:46

如果您有EIP书或Camel in Action书,那么请阅读有关聚合器EIP的理论。这会告诉你很多东西。聚合EIP是最复杂的EIP之一,因此值得花点时间研究该模式。

在nutshel中,您需要关联A和B,以便聚合EIP将匹配这两个消息,并聚合它们。

因此,您需要将这种相关性作为表达式来实现,在Camel中,您可以使用方法调用表达式来实现这一点,这允许您在方法调用中使用Java代码来确定这一点。

该方法的结果应该是指定相关组标识符的字符串。则第一A和第一B消息应该具有相同的相关组标识符。例如,让你的匹配消息分组。

我建议更多地研究EIP,然后考虑如何编写这种关联逻辑。然后,您可以在Java代码中实现它,然后将方法调用表达式与Camel聚合器一起使用。

另外,第2个A、第3个A、第2个B和第3个B消息应该发生什么情况?它们应该如何关联?

应该是这样的吗?

代码语言:javascript
复制
1A + 1B
2A + 2B
3A + 3B

然后,消息可以以任何顺序到达聚合EIP模式,例如

代码语言:javascript
复制
  1B
  2B
  1A
  3B
  2A
  3A

聚合器的结果将如上面所示的1A+1B ...?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10304507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档