Apache camel apache camel aggregator2-如何聚合两种消息类型中的每一种?
我有两种类型的消息(A和B)到达聚合器。如何将第一个到达的A与第一个到达的B进行聚合?如果您有EIP手册或骆驼行动手册,请阅读聚合器EIP的理论。那会告诉你很多。聚合EIP是最复杂的EIP之一,因此值得花点时间研究该模式 简而言之,您需要关联a和B,以便聚合EIP将匹配这两条消息,并聚合它们 因此,您需要实现这种关联如何作为一个表达式来工作,例如,在Camel中,您可以使用一个方法调用表达式来实现它,它允许您在方法调用中使用Java代码来确定这一点 该方法的结果应该是一个指示相关组标识符的字符串。然后,第一个A和第一个B消息应该具有相同的相关组标识符。例如,将您的消息分组 我建议进一步研究一下EIP,然后思考如何编写相关逻辑。然后,您可以在Java代码中实现它,然后使用带有Camel聚合器的方法调用表达式 第2条A、第3条A、第2条B和第3条B消息也会发生什么情况?它们应该如何关联 应该是这样吗Apache camel apache camel aggregator2-如何聚合两种消息类型中的每一种?,apache-camel,aggregator,Apache Camel,Aggregator,我有两种类型的消息(A和B)到达聚合器。如何将第一个到达的A与第一个到达的B进行聚合?如果您有EIP手册或骆驼行动手册,请阅读聚合器EIP的理论。那会告诉你很多。聚合EIP是最复杂的EIP之一,因此值得花点时间研究该模式 简而言之,您需要关联a和B,以便聚合EIP将匹配这两条消息,并聚合它们 因此,您需要实现这种关联如何作为一个表达式来工作,例如,在Camel中,您可以使用一个方法调用表达式来实现它,它允许您在方法调用中使用Java代码来确定这一点 该方法的结果应该是一个指示相关组标识符的字符串
1A + 1B
2A + 2B
3A + 3B
然后消息可以以任何顺序到达聚合EIP模式,例如
1B
2B
1A
3B
2A
3A
聚合器的结果如上图所示,1A+1B 如果你有EIP手册或骆驼行动手册,那么请阅读关于聚合器EIP的理论。那会告诉你很多。聚合EIP是最复杂的EIP之一,因此值得花点时间研究该模式 简而言之,您需要关联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