IBM WebSphere MQ:无法连接队列管理器和队列与2009年错误代码



错误详细信息如下:( stacktrace)

Caused by: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2009'.
        at com.ibm.mq.MQDestination.open(MQDestination.java:310)
        at com.ibm.mq.MQQueue.<init>(MQQueue.java:261)
        at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:2751)
        at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:2779)
        at com.citi.sh.h2h.service.adapter.H2hMqSendReceiveAdapter.connect(H2hMqSendReceiveAdapter.java:79)
        ... 17 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009
        at com.ibm.mq.jmqi.remote.internal.RemoteHconn.getConnection(RemoteHconn.java:884)
        at com.ibm.mq.jmqi.remote.internal.RemoteHconn.getCmdLevel(RemoteHconn.java:2698)
        at com.ibm.mq.MQDestination.open(MQDestination.java:302)
        ... 21 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.SocketException[Unrecognized Windows Sockets error: 0: recv failed],4=TCP,5=sockInStream.read]
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1515)
        at com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveBuffer(RemoteRcvThread.java:804)
        at com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveOneTSH(RemoteRcvThread.java:768)
        at com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.run(RemoteRcvThread.java:158)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: recv failed
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:152)
        at java.net.SocketInputStream.read(SocketInputStream.java:122)
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1505)
        ... 4 more

在Windows 2003服务器中,我的应用程序运行为连接MQ以执行消息的服务。有些过程成功执行,但有些过程失败了。上述错误发生。我的Java应用程序使用JDK1.7,MQ版本为7.0.1.11您能给我一些解决这个问题的解决方案吗?非常感谢您的帮助!

IBM MQ V7.0于2015年9月30日失败。

我建议您移至IBM MQ的支持版本。由于它将在2017年4月30日退出支持。

MQ 7.5客户端
MQ 8.0客户端
MQ 9.0客户端


如果您必须继续使用不支持版本,我确实找到了一些有关您问题的原因的参考,即Windows Server支持IPv4和IPv6堆栈。解决方案是强迫JRE仅通过将以下设置添加到Java启动中。

-Djava.net.preferIPv4Stack=true

最新更新