Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1066014
  • 博文数量: 239
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 3618
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-12 13:17
文章分类

全部博文(239)

文章存档

2021年(1)

2016年(1)

2015年(30)

2014年(91)

2013年(116)

分类: WINDOWS

2013-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.(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.(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.(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') 

阅读(8966) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~