使用Camel 2.19.3 ......
我想从TOPIC(IBM-MQ)读取。我设置了两个 " durableSubscriptionName"和客户端ID。
from ("jms:topic:TEST/TOPIC1?durableSubscriptionName=TestSubscription1&clientId=101021&exchangePattern=InOnly")
但是,DefaultJmsMessageContainerFactory给了我一个错误:
JMWCC0101: The clientID cannot be null
我已经使用Spring JmsTemplate直接尝试了相同的配置 在连接上设置clientId,这是有效的。
我是否需要指定自定义" connectionFactory"?看代码 DefaultJmsMessageContainerFactory,它看起来应该处理设置 clientID到底层连接。
对我应该寻找什么的任何想法?
答案 0 :(得分:0)
对我们有用的是将客户端ID分配给连接工厂,而不是Camel JMS组件,也不分配给特定的客户。在我们的用例中,我们只需要这种粒度级别。
由于我们使用IBM Liberty,因此我们在server.xml中添加了一个属性,但可能还有其他方法可以完成同样的事情。
<jmsConnectionFactory ..... >
<properties.wmqJms ... clientId="99999" ... />
</jmsConnectionFactory>