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

WebSphere MQ报错JMSCMQ0001/MQRC_GET_INHIBITED的原因及解决方法

从你贴的错误堆栈来看,核心问题是MQRC_GET_INHIBITED(错误码2016)——这是WebSphere MQ里典型的队列访问限制问题,我来给你拆解下原因和解决办法:

核心异常片段:

Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2016' ('MQRC_GET_INHIBITED').
错误原因分析

这个错误码的字面意思是队列被禁止执行GET操作,也就是不允许从该队列中取出消息。常见触发场景包括:

  • 队列的Inhibit Get属性被手动设置为Yes(默认是No)
  • 管理员在维护队列时临时开启了这个限制,后续忘记恢复
  • 自动化运维脚本、监控工具误修改了队列的关键属性
对应的解决方法

1. 确认队列属性问题

用MQ Explorer图形工具或者runmqsc命令行工具连接到你的MQ管理器,检查目标队列的Inhibit Get属性:

# 进入runmqsc交互模式,替换[MQ管理器名称]为实际值
runmqsc [MQ_MANAGER_NAME]

# 查看目标队列的Inhibit Get属性,替换[队列名称]
DISPLAY QLOCAL([QUEUE_NAME]) INHIBITGET

如果返回结果是INHIBITGET(YES),那就坐实了是这个属性导致的问题。

2. 修改队列属性恢复GET权限

在runmqsc交互模式中执行修改命令:

ALTER QLOCAL([QUEUE_NAME]) INHIBITGET(NO)

执行完成后可以再用DISPLAY命令确认属性已经变更为INHIBITGET(NO)。

3. 排查属性变更的根源

  • 询问运维团队近期是否有对该队列做过维护操作
  • 查看MQ的系统日志(比如AMQERR01.LOG),搜索是否有修改队列属性的记录
  • 如果是自动化工具导致的误修改,需要调整工具配置,避免再次触发类似问题

4. 验证恢复效果

重启你的JMS消费程序,或者手动触发一次消息接收操作,确认是否还会抛出原异常。

内容的提问来源于stack exchange,提问作者user2553710

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:54:29