骆驼发送到多个端点

时间:2012-04-23 12:36:21

标签: apache-camel multicast

这两者有何不同

from(endpoint).to(endpoint:a, endpoint:b)

from(endpoint).multicast().to(endpoint:a, endpoint:b)

找不到第一个

的任何文档

2 个答案:

答案 0 :(得分:21)

to(endpoint:a, endpoint:b)相当于.to(endpoint:a).to(endpoint:b)这意味着endpoint:a的输出会发送到endpoint:b,而不是原始Exchange。此外,每个端点都是一个接一个地执行。

.multicast()将原始Exchange发送到每个定义的端点,允许并行处理,并允许您定义AggregationStrategy以确定如何汇集来自每个端点的响应原始{ {1}}已发送给。

答案 1 :(得分:6)

是的,就像jarrad写的那样,两者之间存在差异

第一个是管道和过滤器EIP(Camel中的默认模式)。这里记录了:http://camel.apache.org/pipes-and-filters.html

第二个是多播EIP,这里记录: http://camel.apache.org/multicast.html

此处列出了所有Camel EIP:http://camel.apache.org/eip