简体   繁体   English

IBM Websphere MQ:无法使用2009错误代码连接队列管理器和队列

[英]IBM Websphere MQ: Failed to connect queue manager and queue with 2009 error code

Error detail as following: (stacktrace) 错误详情如下:(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

In windows 2003 server, my application running as a service to connect MQ to execute message. 在Windows 2003服务器中,我的应用程序作为服务运行,以连接MQ以执行消息。 Some process executed successfully, but some are failed. 某些流程成功执行,但有些流程失败。 The above error occurred. 发生上述错误。 My Java application use JDK1.7 and MQ version is 7.0.1.11 Could you give me some solution to fix this issue? 我的Java应用程序使用JDK1.7,MQ版本是7.0.1.11你能给我一些解决方案来解决这个问题吗? Thank your very much for your help! 非常感谢你的帮助!

IBM MQ v7.0 went out of support on September 30th 2015. IBM MQ v7.0于2015年9月30日失效。

I would suggest that you move to a supported version of IBM MQ. 我建议您转移到受支持的IBM MQ版本。 I'm leaving 7.1 out of the list below since it will go out of support on April 30 2017. Note that 7.5 will go out of support on April 30 2018. 我将从下面的列表中删除7.1,因为它将在2017年4月30日停止支持。请注意,7.5将在2018年4月30日失去支持。

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


If you must continue to use a out of support version I did find some references to the cause of your problem being that the Windows server supports both a IPv4 and IPv6 stacks. 如果您必须继续使用不支持版本,我确实找到了一些引用问题的原因,即Windows服务器同时支持IPv4和IPv6堆栈。 The solution was to force the JRE to use IPv4 only by adding the following setting to your Java startup. 解决方案是强制JRE仅通过将以下设置添加到Java启动来使用IPv4。

-Djava.net.preferIPv4Stack=true

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM