Java 连接 IBM MQ 时出现 2035 或 2013 认证错误的解决

简介:

Java 连接 IBM MQ时出现 2035  2013认证错误的解决
com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: 
为队列管理器“QM1”提供的安全性认证无效,连接方式为“Client”,主机名为“9.186.105.212(1414)”请检查提供的用户名和密码在您连接至的队列管理器中是否正确。
 atcom.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:540)
 at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
 atcom.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:440)
 atcom.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:7062)
 atcom.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6453)
 atcom.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:295)
 at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6230)
 atcom.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFactory.java:114)
 at com.jn.test.MQPublisher.main(MQPublisher.java:39)
 Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ 
调用失败,完成代码为“2”“MQCC_FAILED”),原因为“2035”“MQRC_NOT_AUTHORIZED”)。
 atcom.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
 ... 7 more
 
 
 
解决方法:
 (1)
登录服务器进入 IBM mq所在目录linux一般在/opt/mqm下),再进入bin目录切换到mqm用户(su mqm),输入runmqscQM1 (QM1 是你的队列管理器的名字),进入命令模式,输入 disqmgr 查看资源管理器的属性CHLAUTH默认值是ENABLED的改成DISABLED输入命令  ALTER QMGRCHLAUTH(DISABLED)  ,然后测试是否可用,如果还不可以请看第二步。

wKiom1ckUyzSG3BAAACXRDlGGdQ164.png

(2)
输入 ALTERCHL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
 
SYSTEM.DEF.SVRCONN 
是通道的名字
 
SVRCONN 
是通道的类型
 
mqm 
mq的用户
 
一般linux安装完mq都会自动出现mqm用户。

如果你是使用 IBM WebSphere MQ Explorer 进行设置创建的队列管理器,那么你需要修改队列管理器的属性-->通信-->通道认证记录改为禁用(默认是启用的)。

 

参考博文:http://blog.csdn.net/zzhhcc0707/article/details/8267727





     本文转自1321385590 51CTO博客,原文链接:http://blog.51cto.com/linux10000/1769190,如需转载请自行联系原作者




相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
27天前
|
NoSQL Java MongoDB
java连接MongoDB
java连接MongoDB
|
2月前
|
数据采集 Java 关系型数据库
Java代码高效连接数据库
Java代码高效连接数据库
20 2
|
3月前
|
IDE 关系型数据库 MySQL
【Java+MySQL】前后端连接小白教程
【Java+MySQL】前后端连接小白教程
37 0
|
26天前
|
NoSQL Java API
Redis官方推荐的Java连接开发工具Jedis
Redis官方推荐的Java连接开发工具Jedis
|
4月前
|
消息中间件 Java
Java操作RabbitMQ单一生产-消费者模式
Java操作RabbitMQ单一生产-消费者模式
32 0
|
4月前
|
Linux Windows
FinalShell连接Linux虚拟机报错java.net.ConnectException: Connection timed out: connect(亲测有效)
FinalShell连接Linux虚拟机报错java.net.ConnectException: Connection timed out: connect(亲测有效)
186 0
|
4天前
|
NoSQL Java 关系型数据库
Java基础教程(21)-Java连接MongoDB
【4月更文挑战第21天】MongoDB是开源的NoSQL数据库,强调高性能和灵活性。Java应用通过MongoDB Java驱动与之交互,涉及MongoClient、MongoDatabase、MongoCollection和Document等组件。连接MongoDB的步骤包括:配置连接字符串、创建MongoClient、选择数据库和集合。伪代码示例展示了如何建立连接、插入和查询数据。
|
5天前
|
Java 关系型数据库 MySQL
Java基础教程(20)-Java连接mysql数据库CURD
【4月更文挑战第19天】MySQL是流行的关系型数据库管理系统,支持SQL语法。在IDEA中加载jar包到项目类路径:右击项目,选择“Open Module Settings”,添加库文件。使用JDBC连接MySQL,首先下载JDBC驱动,然后通过`Class.forName()`加载驱动,`DriverManager.getConnection()`建立连接。执行CRUD操作,例如创建表、插入数据和查询,使用`Statement`或`PreparedStatement`,并确保正确关闭数据库资源。
|
16天前
|
前端开发 NoSQL JavaScript
java域控连接AD遇到的问题
java域控连接AD遇到的问题
|
26天前
|
Java 监控
用java代码实现三菱PLC与上位机的连接
"初学者入门Java编程,开始探索代码世界。学习基础语法、类、对象及异常处理,逐步构建程序思维。#Java学习之路"