如何在Camel的多播EIP中为指定的聚合策略提供相关表达式

时间:2012-05-25 00:38:12

标签: apache-camel

我正在使用Camel Multicast EIP,我的聚合策略如下所示 -

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

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

2 个答案:

答案 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");