强制Camel JMS / AMQP组件为生产者和消费者使用单独的会话

时间:2014-02-20 16:41:05

标签: apache-camel spring-jms

某些AMQP启用的代理程序(如Microsoft Service Bus或ActiveMQ)每个会话只允许一个活动的生产者或使用者。 Apache JMS Camel组件似乎无法正确处理此问题,这导致JMS在处理从例如发送的InOut消息时抛出异常。服务总线。

一个小的JMS测试应用程序,为生产者和消费者提供单独的会话。使用相同的会话,它会遇到同样的问题。

问题源于Spring JMS模板,该模板用作Camel JMS实现的基础。

有人知道如何克服这种行为吗?

1 个答案:

答案 0 :(得分:0)

您可以定义第二个JMS组件并将其用于“其他”组件。 或者你可以关闭任何类型的连接池。

如果您使用XML,那么您可以定义第二个jms组件

<bean id="jms2" class="org.apache.camel.component.jms.JmsComponent"/>