IBM MQ 2035错误
2015-06-01 16:58
197 查看
在机场客户这边部署项目的时候,遇到了IBM MQ 2035错误,在网上查了很多方法都不凑效,后来查到另外一个终于解决了问题,记录于此:
参考链接:http://www.blogjava.net/i369/articles/87961.html
-------------------------------------------------------------------------------------------------------------------------------
我们的系统使用了ibm mq,用户用来向国家局上报文件和接收文件,前几天用户说上报一直不成功。由于
开发这块程序的人已经辞职了,我觉定在我的机器部署一套,研究一下。我的思路:
在我的机器上安装mq,建立两个队列,一个用来接收,一个用来发送;在另外一台机器上,发布应用程序,通
过java client向我的机器的队列发送消息和接收消息。
mq安装成功,队列管理器、队列、通道也都建起来了,用mq自带的api检测程序检测也成功了。
接下来,在另外一台机器上通过程序发送消息,结果就是不行,总是报原因码是2035的错误,折腾了一下
午,我终于明白了故障原因,原来是用户权限,在网上找到了解决办法。
通常情况下,MQ客户端与MQ服务器端通讯时,使用MQ服务器端的服务连接通道在MCAUSER属性中指定的
用户作为MQ客户端连上来时使用的用户,如果MCAUSER属性值为空,则使用MQ客户端所在操作系统使用
的用户作为MQ客户端连上来时使用的用户。通讯时,报2035错误,就是由于客户端与服务器端通讯时所使
用的用户没有权限造成的。解决办法有两种:
方法1:
假如在服务器端的服务连接通道定义中设置MCAUSER属性的值为MUSR_MQADMIN:(下例中假设通道定
义名为DT_SERVER_CHL)
ALTER CHANNEL(DT_SERVER_CHL) CHLTYPE(SVRCONN) MCAUSER("MUSR_MQADMIN")
一定要确保MUSR_MQADMIN用户为mqm组的成员,具体办法随MQ 服务器所在的操作系统而定,在此就不
再赘述。
方法2:
若保持MQ服务器端的通道定义的MCAUSER属性值为缺省值,即为空,则可将MQ客户端所使用的用户添加
到MQ服务器所在的操作系统中。
例如,若MQ客户端使用的用户为ADMIN,则在MQ服务器端添加用户ADMIN,并保证此用户在MQ服务器端的mqm组中,以及有执行队列管理器上的操作所必需的权限。
这两种办法我都试了,都可以。
至此,通过java程序向mq发送消息和接收消息我都调试通过了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=451110
-------------------------------------------------------------------------------------------------------------------------------
参考链接:http://www.blogjava.net/i369/articles/87961.html
-------------------------------------------------------------------------------------------------------------------------------
我们的系统使用了ibm mq,用户用来向国家局上报文件和接收文件,前几天用户说上报一直不成功。由于
开发这块程序的人已经辞职了,我觉定在我的机器部署一套,研究一下。我的思路:
在我的机器上安装mq,建立两个队列,一个用来接收,一个用来发送;在另外一台机器上,发布应用程序,通
过java client向我的机器的队列发送消息和接收消息。
mq安装成功,队列管理器、队列、通道也都建起来了,用mq自带的api检测程序检测也成功了。
接下来,在另外一台机器上通过程序发送消息,结果就是不行,总是报原因码是2035的错误,折腾了一下
午,我终于明白了故障原因,原来是用户权限,在网上找到了解决办法。
通常情况下,MQ客户端与MQ服务器端通讯时,使用MQ服务器端的服务连接通道在MCAUSER属性中指定的
用户作为MQ客户端连上来时使用的用户,如果MCAUSER属性值为空,则使用MQ客户端所在操作系统使用
的用户作为MQ客户端连上来时使用的用户。通讯时,报2035错误,就是由于客户端与服务器端通讯时所使
用的用户没有权限造成的。解决办法有两种:
方法1:
假如在服务器端的服务连接通道定义中设置MCAUSER属性的值为MUSR_MQADMIN:(下例中假设通道定
义名为DT_SERVER_CHL)
ALTER CHANNEL(DT_SERVER_CHL) CHLTYPE(SVRCONN) MCAUSER("MUSR_MQADMIN")
一定要确保MUSR_MQADMIN用户为mqm组的成员,具体办法随MQ 服务器所在的操作系统而定,在此就不
再赘述。
方法2:
若保持MQ服务器端的通道定义的MCAUSER属性值为缺省值,即为空,则可将MQ客户端所使用的用户添加
到MQ服务器所在的操作系统中。
例如,若MQ客户端使用的用户为ADMIN,则在MQ服务器端添加用户ADMIN,并保证此用户在MQ服务器端的mqm组中,以及有执行队列管理器上的操作所必需的权限。
这两种办法我都试了,都可以。
至此,通过java程序向mq发送消息和接收消息我都调试通过了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=451110
-------------------------------------------------------------------------------------------------------------------------------
相关文章推荐
- ORACLE日期时间函数大全
- 基于AMD的Require.js学习笔记
- ansible详解(一)----小试牛刀
- Linux常用的网络命令
- traceroute命令
- [BI项目记]-文档版本管理笔记
- prime算法生成最小生成树----poj2349
- Android新增C/C++语言支持:应用开发更快
- 根据文字计算Label的尺寸
- c++回调函数
- 十七、Python SQLAlchemy
- 前端MVVM框架avalon学习笔记
- 后台配置前台风格
- ubuntu 海思SDK安装
- 动态库,静态库
- [BI项目记]-搭建代码管理环境之云端
- Lucene简介
- java 简单的窗口程序之创建框架
- C# Rows.Remove() 和 DataRow.Delete() 的区别
- DOS基本文件操作命令