Java Spring集成:从多个JMS目的地接收消息
我正在使用JavaDSL来配置我的通道适配器。我想要实现的事情可以用以下代码描述:Java Spring集成:从多个JMS目的地接收消息,java,spring,spring-integration,Java,Spring,Spring Integration,我正在使用JavaDSL来配置我的通道适配器。我想要实现的事情可以用以下代码描述: IntegrationFlows .from(Jms.messageDriverChannelAdapter(mqCacheConnectionFactory) .configureListenerContainer(container -> container.sessionTransacted(transacted))
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目的地接收数据。这是可以实现的吗?不,这是不可能的
Spring集成JMS支持完全基于Spring JMS基金会。而且它的
AbstractMessageListenerContainer
只提供一个目的地的消费能力。因此,Jms.messageDriverChannelAdapter()
不提供配置多个要侦听的目标的选项
您唯一的选择是配置几个Jms.messageDriverChannelAdapter()
s。Spring集成的好处是,您可以将它们全部输出到相同的MessageChannel
,这样就不会有太多的复制/粘贴操作