java 连接IBM MQ的方法和常见问题

 

第一步:建立新项目,如下图所示

第二步:导入jar包,以上八个jar是必须的,如果网上可以下载connector-1.0.jar也导入;

第三步:配置pom.xml文件如下图所示;

第四步:配置class文件

以上就是基本配置,关于主要地方加以了注释,关于经常遇到的2035错误

主要是因为权限报错,windows版的mq就把连接认证关闭,然后连接用户确认是mqm用户组的用户即可,目前这两种可能性排除可以解决90%的问题;对于linux版的配置,

若保持MQ服务器端的通道定义的MCAUSER属性值为缺省值,即为空,则可将MQ客户端所使用的用户添加到MQ服务器所在的操作系统中。第二就是保证连接用户是mqm用户组的用户名。加入上面两种方式都不行,那就要考虑关闭队列管理器的通道认证,操作如下可以通过命令行中指令关闭通道认证记录:
RUNMQSC 队列管理器名称
ALTER QMGR CHLAUTH(DISABLED)

关于2085错误:

2085是名称错误,检查你的队列名称是否正确,很简单。

关于2045错误:

2045是格式错误,其实就是在接收和发送判断时候出了错,

如果是发送队列,需要使用MQC.MQOO_FAIL_IF_QUIESCING 和 MQC.MQOO_OUTPUT ;//空消息或者发送消息。MQOO_INPUT_AS_Q_DEF不能作为远程队列的。

2033错误:这是在接收消息时遇到了空指针,这个错误可以忽略。

 

posted @   赤那王鹏飞  阅读(7436)  评论(5编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示