注意
The opposite to pipeline is multicas(与muticas相反,muticas会生成多个Exchange,他们的ExchangeID不同,pipeline后面也可以跟多个endpoint,但是他们的ExchangeID都是同一个,相当于串行)
java事例
from("direct:a").pipeline("direct:x", "direct:y", "direct:z", "mock:result");
SpringXML事例
<route>
<from uri="activemq:SomeQueue"/>
<pipeline>
<bean ref="foo"/>
<bean ref="bar"/>
<to uri="activemq:OutputQueue"/>
</pipeline>
</route>
上面这种写法通常是不必要的,可以使用下面的方式:
<route>
<from uri="activemq:SomeQueue"/>
<bean ref="foo"/>
<bean ref="bar"/>
<to uri="activemq:OutputQueue"/>
</route>
multicast与pipeline结合
if you wish to use <multicast/> to avoid a pipeline - to send the same message into multiple pipelines - then the <pipeline/> element comes into its own:
(如下:多个管道接收相同的消息,但是又在自己的管道中处理)
<route>
<from uri="activemq:SomeQueue"/>
<multicast>
<pipeline>
<bean ref="something"/>
<to uri="log:Something"/>
</pipeline>
<pipeline>
<bean ref="foo"/>
<bean ref="bar"/>
<to uri="activemq:OutputQueue"/>
</pipeline>
</multicast>
</route>