【问题标题】:JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2016' ('MQRC_GET_INHIBITED')JMSCMQ0001:WebSphere MQ 调用失败,compcode '2' ('MQCC_FAILED') 原因 '2016' ('MQRC_GET_INHIBITED')
【发布时间】:2018-05-17 20:59:49
【问题描述】:

我的日志文件中出现以下错误:

2018-04-19 11:42:17,564 ERROR QueueContainer  - Error com.ibm.msg.client.jms.DetailedIllegalStateException: JMSWMQ2002: Failed to get a message from destination. WebSphere MQ classes for JMS attempted to perform an MQGET; however WebSphere MQ reported an error. Use the linked exception to determine the cause of this error.
    at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:496)
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
    at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCallSuccess(WMQMessageConsumer.java:130)
    at com.ibm.msg.client.wmq.internal.WMQConsumerShadow.getMsg(WMQConsumerShadow.java:1431)
    at com.ibm.msg.client.wmq.internal.WMQSyncConsumerShadow.receiveInternal(WMQSyncConsumerShadow.java:239)
    at com.ibm.msg.client.wmq.internal.WMQConsumerShadow.receive(WMQConsumerShadow.java:1135)
    at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.receive(WMQMessageConsumer.java:469)
    at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receiveInboundMessage(JmsMessageConsumerImpl.java:883)
    at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receive(JmsMessageConsumerImpl.java:546)
    at com.ibm.mq.jms.MQMessageConsumer.receive(MQMessageConsumer.java:258)
    at com.damco.tools.proxy.mq.jms.JMSQueueReader.readNextMessage(JMSQueueReader.java:44)
    at com.damco.tools.proxy.QueueContainer.runMessageLoop(QueueContainer.java:122)
    at com.damco.tools.proxy.QueueContainer.run(QueueContainer.java:107)
    at java.lang.Thread.run(Thread.java:767)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2016' ('MQRC_GET_INHIBITED').
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
    ... 12 more

这可能是什么原因和解决方法?

【问题讨论】:

    标签: ibm-mq


    【解决方案1】:

    如前人所述,您要从中获取消息的队列已被禁止获取。 但是在 QLOCAL 级别上显示为:

    DIS QL("QUEUE.A") GET(禁用)

    所以您需要询问 MQ 管理员,或者您是否有权启用它。

    ALTER QL(QUEUE.A) GET(启用)

    然后尝试,它会像魅力一样发挥作用!

    【讨论】:

      【解决方案2】:

      这就是IBM MQ documentation 所说的MQRC_GET_INHIBITED

      当前禁止队列或该队列解析到的队列的 MQGET 调用。

      因此,您必须询问您的队列管理器管理员为什么当前未启用从该队列接收消息。

      【讨论】:

        猜你喜欢
        • 2016-05-10
        • 1970-01-01
        • 2017-09-29
        • 1970-01-01
        • 2014-04-01
        • 1970-01-01
        • 2018-08-30
        • 2020-04-18
        • 1970-01-01
        相关资源
        最近更新 更多