IBM MQ安装配置
一、java连接IBM MQ
1、新建队列管理器 QM_TEST1
2、在新建的队列管理器下新建 本地队列 Q1
3、在 通道 下 新建 服务器连接通道 SVR_C
4、java代码测试连接
MQEnvironment.hostname = "192.168.109.65";
MQEnvironment.channel = "SVR_C";
MQEnvironment.port = 1414;
MQEnvironment.CCSID = 1381;//MQEnvironment.userID = "";
//MQEnvironment.password ="";try {
MQQueueManager qMgr = new MQQueueManager("QM_APPLE");
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT | MQC.MQOO_INQUIRE;
String reqQueueName = "Q1";
MQQueue reqQueue = qMgr.accessQueue(reqQueueName, openOptions);MQMessage msg = new MQMessage();// 要读的队列的消息
MQGetMessageOptions gmo = new MQGetMessageOptions();msg.writeBytes("fgfdgfdgd");
reqQueue.put(msg);
reqQueue.get(msg, gmo);
String reqMsgStr = msg.readStringOfByteLength(msg.getDataLength());System.out.println(reqMsgStr);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
5、连接时报错 (队列管理器拒绝连接尝试 完成代码是 2,原因为 2035),参照如下配置:
IBM MQ 7.X与8.X取消服务器连接认证方法:
点击【队列管理器】-->【属性】-->【通信】-->【通道认证记录】-->将通道认证记录设置为【已禁用】;
进入MQ安装bin路径下面执行命令:
runmqsc 队列管理器名称
1、IBM MQ 7.X,
alter qmgr chlauth(disabled)
2、IBM MQ 8.0:
将连接认证选项中的SYSTEM.DEFAULT.AUTHINFO.IDPWOS的相关属性配置为OPTIONAL:
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
或者直接将连接认证选项置为空,将其完全关闭,指令如下:
ALTER QMGR CONNAUTH(' ') 注:单引号内有空格
在执行完上述两条命令中的任一条后,都需要刷新连接认证的缓存,指令如下:
REFRESH SECURITY TYPE(CONNAUTH)
二、创建 远程队列 ,参见:https://blog.****.net/fdyufgf/article/details/83717513