我正在使用java DSL来配置我的通道适配器。我想要实现的东西可以用以下代码来描述:
IntegrationFlows
.from(Jms.messageDriverChannelAdapter(mqCacheConnectionFactory)
.configureListenerContainer(container -> container.sessionTransacted(transacted))
.destinations(inputDestination1, inputDestination2) // missing method
.autoStartup(autoStartup)
.id(channelName)
.errorChannel(errorChannel)
)
.channel(commonChannel)
.get();
所以我希望messageDriverChannelAdapter
能够从多个JMS目的地接收。它可以实现吗?
答案 0 :(得分:2)
不,这是不可能的。
Spring Integration JMS支持完全基于Spring JMS基础。其AbstractMessageListenerContainer
只能使用一个destination
。因此Jms.messageDriverChannelAdapter()
没有提供配置多个要收听的目的地的选项。
只有您拥有的选项是配置多个Jms.messageDriverChannelAdapter()
。 Spring Integration有什么好处,你可以将它们输出到同一个MessageChannel
并且你不会有太多的复制/粘贴地狱。