什么时候MQ抛出JMS异常'MQJMS1022:无法重定向消息'?

时间:2016-02-04 09:02:42

标签: java jms ibm-mq mq

MQ何时抛出JMS异常'MQJMS1022:无法重定向消息'?

我们的应用程序(在JDK 1.5上运行)连接到MQ 7.5。 从MQ读取消息时,抛出以下异常。

 javax.jms.JMSException: MQJMS1022: failed to redirect message
    at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:530)
    at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:734)
    at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:269)
    at java.lang.Thread.run(Thread.java:682)

我们的应用程序代码没有堆栈跟踪。 有谁知道可能是什么原因。 MQ文档非常差,我找不到有关错误的更多信息。

2 个答案:

答案 0 :(得分:1)

异常:MQJMS1022:无法重定向消息: 如果有毒药信息和应用程序,可能会导致 试图支持它。如果没有在a上定义回退队列 队列管理器,MQ无处可放消息,因此异常。 请确认您是否已定义了退出队列。 knowledge center page about handling poison messages可能会有所帮助

答案 1 :(得分:1)

同时转储LinkedException是一个非常好的主意。 即。

catch (JMSException e)
{
   System.err.println("getLinkedException()=" + e.getLinkedException());
   System.err.println(e.getLocalizedMessage());
   e.printStackTrace();
}

LinkedException将包含MQ原因代码。