Reputation: 21
I am getting the following error in my log file:
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
What can be the reason and resolution for this?
Upvotes: 0
Views: 5527
Reputation: 21
As previous person stated, the queue from which you would like to GET the message has GET inhibited. However on QLOCAL level it is shown as:
DIS QL("QUEUE.A") GET(DISABLED)
so you need to ask MQ admin or if you have access to enable it.
ALTER QL(QUEUE.A) GET(ENABLED)
then try and it would work as charm!
Upvotes: 2
Reputation: 2207
This is what the IBM MQ documentation says about MQRC_GET_INHIBITED
:
MQGET calls are currently inhibited for the queue, or for the queue to which this queue resolves.
So you have to ask your Queue Manager administrator why receiving messages from this queue is currently not enabled.
Upvotes: 0