JAVA 连接 IBMMQ 错误收集

错误代码2058:

检查远程队列管理器或者远程队列名称是否拼写错误

错误代码2195

情况1:发送方与接收方的队列管理器编码不一致,

 

//查看编码方式

dis qmgr

 

//设置编码方式

RUNMQSC 队列管理器名称

ALTER QMGR CCSID (1208)

END

 

错误代码 2035

当前用户没有权限连接到MQ,需要再通道认证处加上用户信息/建立客户机连接通道

2035 原因2:权限不够

ALTER QMGR CHLAUTH(DISABLED) //关闭通道认证(生产环境下不允许关闭通道认证)

 

或者

ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('指定的用户标识')

//给指定用户赋予通道认证权限

 

 

原因3:在V8.0版本以上,与服务器的连接默认需要密码去认证,可以通过配置队列管理器的连接认证选项来解决:

通过以下命令行指令解决,将连接认证选项中的SYSTEM.DEFAULT.AUTHINFO.IDPWOS的相关属性配置为OPTIONAL

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL);

 

或者直接将连接认证选项置为空,将其完全关闭,指令如下:

 

ALTER QMGR CONNAUTH(' ') 注:单引号内有空格

 

在执行完上述两条命令中的任一条后,都需要刷新连接认证的缓存,指令如下:

 

REFRESH SECURITY TYPE(CONNAUTH)

 

备注 :这里的mqm是mqm用户组内的用户名,根据实际情况切换

 

如果上述操作还是不行的话执行下面这句:

ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('mqm'),

ALTER CHL('server_conn_chl') CHLTYPE(SVRCONN) MCAUSER('mqm')

 

 

参考地址:http://blog.51cto.com/linux10000/1769190

 

2538:不能连接到MQ

解决方案:通过PING命令和telnet命令检测网络是否通畅,如果能够ping通,却TELNET不能连接,则可能是MQ队列管理器未启动或其中的监听器没有启动,如果Ping不通则是网络不通,需要检查是否同一网段、防火墙是否拦截等

 

 

2540:通道定义有错误

1.进入用户交互界面:runmqsc QMEMBFE(QMEMBFE为队列管理器名称)

2.创建相应的服务器连接通道:DEFINE CHANNEL(DC.SVRCONN) CHLTYPE (SVRCONN) REPLACE

2035:授权相关错误:解决方式如下:

进入用户交互界面:(同上):

ALTER CHANNEL(DC.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')

 

 

 

 

2087 :未知远程管理器错误

可能原因:1.目标管理器与本地管理器重名

2.如果是发送的话,那么可能是远程队列没有绑定传输队列

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值