MQ连接不会断开连接

时间:2015-02-04 14:57:20

标签: java jms ibm-mq mq

我们已经实现了一个JMSExceptionListener,它可以在任何连接上调用异常。在这个方法中,我们使用connection.close()关闭连接。当我们这样做时,我们得到以下异常

javax.jms.JMSException: MQJMS2003: failed to disconnect queue manager.
    at com.ibm.msg.client.wmq.v6.jms.internal.ConfigEnvironment.newException(ConfigEnvironment.java:374)
    at com.ibm.msg.client.wmq.v6.jms.internal.MQSession.close(MQSession.java:1328)
    at com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
    at com.ibm.msg.client.jms.internal.JmsConnectionImpl.close(JmsConnectionImpl.java:294)
    at com.ibm.mq.jms.MQConnection.close(MQConnection.java:98)

由于这个原因,连接处于挂起状态,即使我们进行了新连接,消息也会处于未注册状态。是否有更简洁的方法来关闭连接而不会出现此异常?

在这种情况下设置setClientReconnectOptions会有帮助吗?请指教。

有没有办法对连接对象进行健康检查?我如何知道连接对象是否陈旧?

0 个答案:

没有答案