0

我正在使用 Camel Multicast EIP,并且我的聚合策略指定如下 -

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

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

4

2 回答 2

0

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

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

于 2012-05-25T04:20:39.767 回答
0

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

关于多播超时 - 多播 DSL 允许您指定多播应等待多长时间,直到所有消息都发送到端点并得到处理:

from("direct:start")
.multicast(new MyAggregationStrategy())
  .parallelProcessing().timeout(500).to("direct:a", "direct:b", "direct:c")
.end()
.to("mock:result");
于 2012-05-30T10:16:24.277 回答