MQ 服務器錯誤代碼20352013-06-12 19:29:39html
搭建一個MQ7.1服務器,用了一個小的demo測試程序,結果報錯,
測試代碼: import com.ibm.mq.MQC; import com.ibm.mq.MQEnvironment; import com.ibm.mq.MQException; import com.ibm.mq.MQQueueManager;
public class testmq {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("into"); MQQueueManager qMgr;//定義一個隊列管理器變量
MQEnvironment.hostname="10.14.43.111";//本地IP MQEnvironment.channel="CNN_JACK";//用來通訊的通道 MQEnvironment.CCSID =1381; MQEnvironment.port=8927; MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);
try { System.out.println("into1"); qMgr=new MQQueueManager("MQ_JACK"); System.out.println("over");
} catch (MQException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}
錯誤信息: into intoMQJE001: 完成代碼爲 '2',緣由爲 '2035'。 com.ibm.mq.MQException: MQJE001: 完成代碼爲 '2',緣由爲 '2035'。 at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:233) at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:553) at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:593) at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:95) at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:198) at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:882) at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:770) at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:719) at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:175) at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:647) at com.icitic.testxq.testmq.main(testmq.java:23)
解決辦法: 有兩種方法能夠解決您的問題:
1. 由於從MQ7.1開始,默認通道鑑權打開。能夠經過關閉此功能解決您的問題
runmqsc QmgrName java
ALTER QMGR CHLAUTH(DISABLED)
2. 若是您想繼續保留通道鑑權,使用如下方法;
若是您使用的自定義通道,例如MY.ADMIN.SVRCONN,則:
SET CHLAUTH(MY.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(*) USERSRC(CHANNEL)服務器
SET CHLAUTH(MY.ADMIN.SVRCONN) TYPE(BLOCKUSER) USERLIST('nobody') 測試