2017-02-27 112 views
1

錯誤詳細連接如下:(堆棧跟蹤)的IBM WebSphere MQ:未能隊列管理器和隊列與2009年的錯誤代碼

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 你能給我一些解決方案來解決這個問題嗎?非常感謝您的幫助!

回答

0

IBM MQ V7.0出去的支持9月30日2015年

我建議你移動到IBM MQ的支持的版本。我要離開7.1下文,因爲它會走出去的支持,4月30日2017年需要注意的是7.5將走出去的支持,4月30日2018年

MQ 7.5 client
MQ 8.0 client
MQ 9.0 client


名單

如果您必須繼續使用不支持的版本,我確實發現了一些有關您的問題的原因,即Windows服務器同時支持IPv4和IPv6堆棧。解決方案是強制JRE僅通過將以下設置添加到Java啓動中來使用IPv4。

-Djava.net.preferIPv4Stack=true 
+0

非常感謝您的回覆。我會做測試。你認爲這個問題是由Java7引起的嗎? JVM與MQ 7.0不匹配。 –

+0

@ HW.BL看起來像7.0.1.11會支持Java7,[系統需求](http://www-01.ibm.com/support/docview.wss?uid=swg27011920)指出添加了7.0.1.6支持Oracle Java SDK/JRE/JDK 7.0.5。 – JoshMc

+0

我的JDK版本是1.7.0_101(32位)。這個問題隨機出現,所以很奇怪。 –

相關問題