2016-11-16 18 views
1

私はチャネルアダプタを設定するのにjava DSLを使用しています。私が達成したい事は、次のコードを記述することができます:Spring統合:複数のJMS送り先からのメッセージを受信

IntegrationFlows 
       .from(Jms.messageDriverChannelAdapter(mqCacheConnectionFactory) 
         .configureListenerContainer(container -> container.sessionTransacted(transacted)) 
         .destinations(inputDestination1, inputDestination2) // missing method 
         .autoStartup(autoStartup) 
         .id(channelName) 
         .errorChannel(errorChannel) 
       ) 
       .channel(commonChannel) 
       .get(); 

だから私は、複数のJMS宛先から受信することができるであろうmessageDriverChannelAdapterを持っていると思います。それは達成可能ですか?

答えて

2

いいえ、できません。

Spring統合JMSサポートは、Spring JMS基盤を完全にベースにしています。そして、そのAbstractMessageListenerContainerは1つだけを消費する能力を提供しますdestination。したがって、Jms.messageDriverChannelAdapter()には、複数の宛先を聴取するように設定するオプションはありません。

あなたが持っているオプションは、複数のJms.messageDriverChannelAdapter()を設定することだけです。あなたはそれらすべてを同じMessageChannelに出力することができ、あまりコピー/ペーストの地獄はないでしょう。

関連する問題