我也曾經遇到過這個錯誤,當時隊列管理器,隊列,通道都一一建立,但就是報錯
HostName=192.168.8.46
Channel=CH1
QManager=WNMS3_QM
MQJE001: 完成代碼為“2”,原因為“2059”。
com.ibm.mq.MQException: MQJE001: 完成代碼為“2”,原因為“2059”。
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:229)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:500)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:541)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:95)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:182)
at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:870)
at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:756)
at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:704)
at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:169)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:594)
at TestSend.main(TestSend.java:32)
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2059;AMQ9503: 通道協商失敗。 [3=CH1]
at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.initSess(RemoteConnection.java:1435)
at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.connect(RemoteConnection.java:991)
at com.ibm.mq.jmqi.remote.internal.system.RemoteConnectionPool.getConnection(RemoteConnectionPool.java:293)
at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1371)
at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:924)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:224)
... 10 more
解決辦法:經過我仔細分析,並上一些IBM官方網站查看資料,應該是程式建立隊列管理器設定字元集編碼問題造成的。
MQEnvironment.CCSID = 1383; //mq伺服器安裝預設的字元集編碼