我正在使用Camel Multicast EIP,我的聚合策略如下所示 -
<multicast strategyRef="myAggregationStrategy" parallelProcessing="true">
<to uri="direct1"/>
<to uri="direct2"/>
</multicast>
如何为XML DSL中的聚合策略指定correlationExpression,completionTimeout?
答案 0 :(得分:0)
多播不是聚合EIP模式。多播上的聚合策略用于聚合来自多播目的地的响应,因此这里有2个目的地,因此有2个预期消息要聚合。
如果其中一个多播消息需要很长时间才能处理,您可以指定超时选项。
答案 1 :(得分:0)
您不需要关联标识符,因为多播后指定的聚合器是指多播端点生成的消息。我们可以说有隐含的“多播”相关标识符。
关于多播超时 - 多播DSL允许您指定多播应等待多长时间,直到所有消息都发送到端点并进行处理:
from("direct:start")
.multicast(new MyAggregationStrategy())
.parallelProcessing().timeout(500).to("direct:a", "direct:b", "direct:c")
.end()
.to("mock:result");