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文档非常差,我找不到有关错误的更多信息。
答案 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原因代码。