You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java应用连接IBM MQ DEV.ADMIN.SVRCONN通道报2035错误如何解决

IBM MQ Docker默认部署admin连接2035错误解决配置

报错原因

MQRC_NOT_AUTHORIZED 2035错误代表账号没有对应通道的访问权限,ibmcom/mq官方镜像默认开启了通道权限校验,限制了admin账号远程连接DEV.ADMIN.SVRCONN通道的权限。

配置步骤

首先进入MQ容器操作:

  • 执行命令进入容器终端:
    docker exec -it <你的MQ容器名称> bash
  • 切换到mqm管理用户:
    su mqm
  • 进入MQSC命令交互界面(默认队列管理器名为DEV.QMGR,自定义过请替换为你的队列管理器名):
    runmqsc DEV.QMGR

方案1:测试环境快速配置(不推荐生产使用)

直接关闭权限校验,配置即时生效,无需重启服务:

ALTER QMGR CHLAUTH(DISABLED)
ALTER QMGR CONNAUTH('')
REFRESH SECURITY TYPE(CONNAUTH)

输入end退出MQSC界面即可。

方案2:生产环境安全配置(最小权限开放)

保留权限校验规则,仅开放admin账号的必要权限:

  • 删除默认的DEV.ADMIN.SVRCONN通道全局拦截规则:
    SET CHLAUTH('DEV.ADMIN.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(NOACCESS) ACTION(REMOVE)
  • 新增admin账号访问通道的映射规则:
    SET CHLAUTH('DEV.ADMIN.SVRCONN') TYPE(USERMAP) CLNTUSER('admin') USERSRC(MAP) MCAUSER('admin') ACTION(ADD)
  • 给admin账号授予队列管理器连接权限:
    SET AUTHREC PRINCIPAL('admin') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ,DSP)
  • 如需操作默认DEV开头的业务队列,额外授予队列操作权限:
    SET AUTHREC PRINCIPAL('admin') OBJTYPE(QUEUE) OBJNAME('DEV.*') AUTHADD(ALLMQI)
  • 刷新安全配置生效:
    REFRESH SECURITY TYPE(CONNAUTH)
    输入end退出MQSC界面即可。

连接参数校验

确认Java应用的连接配置和你部署的MQ参数一致,默认配置如下:

  • 队列管理器名:DEV.QMGR
  • 通道名:DEV.ADMIN.SVRCONN
  • 服务端口:1414
  • 密码:启动容器时通过MQ_ADMIN_PASSWORD环境变量指定的值

注意:如果启动容器时没有设置MQ_ADMIN_PASSWORD,需要先在容器内执行passwd admin修改admin用户的系统密码后再连接,MQ默认复用操作系统的用户账号密码体系。

内容的提问来源于stack exchange,提问作者Jib'z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:18:05