MQ 服务器错误代码20352013-06-12 19:29:39
搭建一个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
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')