2017-02-27 1 views
1

Fehler Detail wie folgt verbinden: (stacktrace)IBM Websphere MQ: Fehler beim WS-Manager und Warteschlange mit 2009 Fehlercode

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, meine Anwendung als Dienst ausgeführt wird MQ verbinden Nachricht auszuführen . Einige Prozesse wurden erfolgreich ausgeführt, einige sind jedoch fehlgeschlagen. Der obige Fehler ist aufgetreten. Meine Java-Anwendung verwenden JDK1.7 und MQ-Version ist 7.0.1.11 Könnten Sie mir eine Lösung geben, um dieses Problem zu beheben? Vielen Dank für Ihre Hilfe!

Antwort

0

IBM MQ v7.0 ging am 30. September aus Unterstützung 2015

Ich würde vorschlagen, dass Sie auf eine unterstützte Version von IBM MQ bewegen. Ich verlasse 7.1 aus der folgenden Liste, da sie aus Unterstützung am April gehen 30 2017. Beachten Sie, dass 7.5 auf April aus Unterstützung gehen 30 2018.

MQ 7.5 client
MQ 8.0 client
MQ 9.0 client


Wenn Sie weiterhin eine Out of Support-Version verwenden müssen, habe ich einige Hinweise auf die Ursache Ihres Problems gefunden, dass der Windows-Server sowohl einen IPv4- als auch einen IPv6-Stack unterstützt. Die Lösung bestand darin, die JRE dazu zu zwingen, nur IPv4 zu verwenden, indem Sie die folgende Einstellung zu Ihrem Java-Start hinzufügen.

-Djava.net.preferIPv4Stack=true 
+0

Vielen Dank für Ihre Antwort. Ich werde den Test machen. Denkst du, dass dieses Problem von Java7 verursacht wird? Die JVM wurde nicht mit MQ 7.0 abgeglichen. –

+0

@ HW.BL Es sieht so aus, als hätte 7.0.1.11 Java7 unterstützt, die [Systemanforderungen] (http://www-01.ibm.com/support/docview.wss?uid=swg27011920) zeigen an, dass 7.0.1.6 hinzugefügt wurde Unterstützung für Oracle Java SDK/JRE/JDK 7.0.5. – JoshMc

+0

Meine JDK-Version ist 1.7.0_101 (32bit). Das Problem tauchte zufällig auf, also ist es seltsam. –

Verwandte Themen