这两者有何不同
from(endpoint).to(endpoint:a, endpoint:b)
from(endpoint).multicast().to(endpoint:a, endpoint:b)
找不到第一个
的任何文档答案 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