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版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
205 13
|
存储 Java 关系型数据库
高效连接之道:Java连接池原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。频繁创建和关闭连接会消耗大量资源,导致性能瓶颈。为此,Java连接池技术通过复用连接,实现高效、稳定的数据库连接管理。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接池的基本操作、配置和使用方法,以及在电商应用中的具体应用示例。
372 5
|
11月前
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
614 30
|
Java Linux 数据库
java连接kerberos用户认证
java连接kerberos用户认证
363 22
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
622 2
|
Java 关系型数据库 MySQL
如何用java的虚拟线程连接数据库
本文介绍了如何使用Java虚拟线程连接数据库,包括设置JDK版本、创建虚拟线程的方法和使用虚拟线程连接MySQL数据库的示例代码。
344 6
如何用java的虚拟线程连接数据库
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
817 6
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
277 3
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
263 1
|
Java 数据库连接 数据库
Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销
本文深入探讨了Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销,显著提升了系统的响应速度和吞吐量。文章介绍了连接池的工作原理,并以HikariCP为例,展示了如何在Java应用中使用连接池。通过合理配置和优化,连接池技术能够有效提升应用性能。
224 1