我有两种类型的消息(A和B)到达聚合器。如何将第一个到达的A与第一个到达的B相加?
发布于 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消息应该发生什么情况?它们应该如何关联?
应该是这样的吗?
1A + 1B
2A + 2B
3A + 3B然后,消息可以以任何顺序到达聚合EIP模式,例如
1B
2B
1A
3B
2A
3A聚合器的结果将如上面所示的1A+1B ...?
https://stackoverflow.com/questions/10304507
复制相似问题