我对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'/>
答案 0 :(得分:0)
如果您的意思是要将到达a,b,c等的每条消息发送到同一频道,那么您上面的内容将会有效。
如果要将a,b,c,d上的消息合并为一条消息,然后在网桥之后,请使用具有适当关联和释放策略的<aggregator/>
。
有关详细信息,请参阅reference documentation。