我有两个流,A.flow和B.flow,最终这两个流执行相同的java类。
,B从一个单独的Queue中读取。
我想要同步流,这样如果两个流同时得到输入,那么一个流一次处理,在它完成后,另一个流将开始处理。
任何想法?
谢谢
使用池化组件,并将其配置为每次使用一个线程:
<flow name="A">
<jms:inbound-endpoint...>
...
<vm:outbound-endpoint path="process"/>
...
</flow>
<flow name="B">
<jms:inbound-endpoint...>
...
<vm:outbound-endpoint path="process"/>
...
</flow>
<flow name="process">
<vm:inbound-endpoint path="process"/>
<pooled-component class="org.my.PrototypeObject">
<pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL" maxActive="1" maxIdle="1" maxWait="1000" /> </pooled-component>
</pooled-component>
</flow>
来源:http://www.mulesoft.org/documentation/display/current/Configuring + Java +组件# ConfiguringJavaComponents-ConfiguringaPooledJavaComponent