【发布时间】:2015-04-22 05:04:15
【问题描述】:
我是使用 Apache camel 的 IBM MQ 的新手。以下是我的配置
<from IBM MQ>
<parallel>
<to ACTIVE MQ>
<to IBM MQ>
</parallel>
我的应用程序在 Spring Container 中运行。有时我收到以下警告,因此我的路线不起作用(IBM MQ 未读取 msg)。为了得到警告,Route is not working 。
例外
org.springframework.jms.listener.DefaultMessageListenerContainer handleListenerSetupFailure 警告:目标“临时”的 JMS 消息侦听器调用程序设置失败 - 尝试恢复。原因:用户 XXXXXX 无权创建:temp-queue://ID:IP Address-1:26:1 2015 年 2 月 20 日上午 2:59:07 org.springframework.jms.listener.DefaultMessageListenerContainer refreshConnectionUntilSuccessful 信息:成功刷新 JMS 连接 2015 年 2 月 20 日上午 2:59:08 org.springframework.jms.listener.DefaultMessageListenerContainer handleListenerSetupFailure 警告:目标“临时”的 JMS 消息侦听器调用程序设置失败 - 尝试恢复。原因:JMSWMQ2008:无法打开 MQ 队列 'SYSTEM.DEFAULT.MODEL.QUEUE'。;嵌套异常是 com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED')。**
我正在使用 Active & IBM MQ,为什么 Spring JMS Listener 会抛出警告?
【问题讨论】:
-
Camel 正在尝试创建一个临时队列(我对请求/回复场景的最佳猜测),而您配置的用户无权这样做。这一切都写在堆栈跟踪中,而 Spring JMS 支持与此无关。
-
请告诉我为什么骆驼应该在将味精发布到另一个队列时创建临时队列?如果我更改为 inonly 模式,它会起作用吗?我会收到 deadLetterchannel 的重试逻辑调用吗?
标签: apache-camel activemq ibm-mq spring-jms