在运行时

时间:2015-12-16 17:24:17

标签: java jms spring-integration

我正在创建一个简单的spring集成应用程序,它将消息发送到可配置的jms队列,并从不同的可配置jms队列接收消息。

我能够使用“destination-expression”配置出站jms适配器队列,但由于这对入站适配器不起作用,我不确定如何执行此操作。

1 个答案:

答案 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中收听来自一个消费者的多个目的地。所以,你真的被迫在你的应用程序中有几个入站适配器。