多个频道的消息进入单个频道

时间:2013-09-01 03:43:06

标签: spring spring-integration

我对Spring Integration更新,我在讨论一个问题,我有多个渠道,但现在我想将这些渠道的消息汇总到单个渠道,如何实现呢?我的senario是我有很多商业模块,每个模块将对应一个通道,这些通道将接收请求,然后将消息组合成一个通道,然后输出到jms服务器:

是否可能低于代码?

<channel id='a'/> <bridge input-channel='a' out-channel='assembled'/>
<channel id='b'/> <bridge input-channel='b' out-channel='assembled'/>
<channel id='b'/> <bridge input-channel='c' out-channel='assembled'/>
<channel id='c'/> <bridge input-channel='d' out-channel='assembled'/>

<channel id='assembled'/>

<!-- the router will desicde which jms gateway to be sent  -->
<router input-channel='assembled' > 

<channel id='to_jms1'/>
<channel id='to_jms2'/>

<jms-outbound-gateway id='jms1' channel='to_jms1'/>
<jms-outbound-gateway id='jms2' channel='to_jms2'/>

1 个答案:

答案 0 :(得分:0)

如果您的意思是要将到达a,b,c等的每条消息发送到同一频道,那么您上面的内容将会有效。

如果要将a,b,c,d上的消息合并为一条消息,然后在网桥之后,请使用具有适当关联和释放策略的<aggregator/>

有关详细信息,请参阅reference documentation