Apache camel 如何在Camel';指定聚合策略的多播EIP

Apache camel 如何在Camel';指定聚合策略的多播EIP,apache-camel,Apache Camel,我正在使用驼峰多播EIP,我的聚合策略指定如下- <multicast strategyRef="myAggregationStrategy" parallelProcessing="true"> <to uri="direct1"/> <to uri="direct2"/> </multicast> 如何为XML DSL中的聚合策略指定correlationExpression、completionTimeout?多播不

我正在使用驼峰多播EIP,我的聚合策略指定如下-

<multicast strategyRef="myAggregationStrategy" parallelProcessing="true">
     <to uri="direct1"/>
     <to uri="direct2"/>
</multicast>


如何为XML DSL中的聚合策略指定correlationExpression、completionTimeout?

多播不是聚合EIP模式。多播上的聚合策略用于聚合来自多播目的地的响应,因此这里有2个目的地,因此有2条预期要聚合的消息


不过,您可以指定一个超时选项,以防其中一条多播消息需要很长时间才能处理。

您不需要相关标识符,因为在多播之后指定的聚合器指的是多播端点生成的消息。我们可以说存在隐式的“多播”相关标识符

关于多播超时-多播DSL允许您指定在将所有消息发送到端点并进行处理之前,多播应等待多长时间:

from("direct:start")
.multicast(new MyAggregationStrategy())
  .parallelProcessing().timeout(500).to("direct:a", "direct:b", "direct:c")
.end()
.to("mock:result");

谢谢因此,据我所知,当聚合在多播中接收到的响应时,不需要correlationExpression(非常类似于拆分器聚合策略)。我只是想确保在我的响应中,如果同时有多个请求,聚合是一致的。