我正在创建一个简单的spring集成应用程序,它将消息发送到可配置的jms队列,并从不同的可配置jms队列接收消息。
我能够使用“destination-expression”配置出站jms适配器队列,但由于这对入站适配器不起作用,我不确定如何执行此操作。
答案 0 :(得分:0)
嗯,你有点误解了这个概念。
在<int-jms:outbound-channel-adapter>
我们可以根据requestMessage
发送到任何目的地。仅仅因为我们拥有对那里的控制权,而且我们不在JMS之外。
在<int-jms:inbound-channel-adapter>
我们无法更改/与目的地跳舞,因为我们的应用程序没有传入上下文。这种适配器是SI应用程序的入口点。因此,如果您在运行时更改目标,则会错过来自上一个目标的邮件。
虽然是,但您可以使用JmsDestinationPollingSource.setDestination()/setDestinationName()
进行更改。
您可以实现像[INBOUND_CHANNEL_ADAPTER_ID].source
那样引用bean。
您无法在JMS,BTW中收听来自一个消费者的多个目的地。所以,你真的被迫在你的应用程序中有几个入站适配器。