18

这两者有何不同

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

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

第一次找不到任何文档

4

2 回答 2

29

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

.multicast()将原件发送Exchange到每个定义的端点,允许并行处理,并允许您定义一个AggregationStrategy以确定如何组装来自原始Exchange发送到的每个端点的响应。

于 2012-04-23T14:47:39.610 回答
9

是的,正如 jarrad 所写,两者之间的区别是

第一个是管道和过滤器 EIP(Camel 中的默认模式)。此处记录:https ://www.enterpriseintegrationpatterns.com/patterns/messaging/PipesAndFilters.html

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

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

于 2012-04-24T03:42:09.797 回答