我在Windows Server 2008计算机上运行IBM Websphere MQ。 现在我想知道如何查看特定队列中的消息内容,例如:
SYSTEM.DEAD.LETTER.QUEUE中有2条消息。如何查看这些消息以便我可以看到它们有什么问题?
我在IBM的网站上看到你可以这样做:
C:\Program Files (x86)\IBM\WebSphere MQ\tools\c\Samples\Bin>amqsbcg SYSTEM.DEAD.LETTER.QUEUE
TLINKTT.QMAN
但是当我运行它时,我收到以下错误:
AMQSBCG0 - starts here
**********************
MQOPEN - 'SYSTEM.DEAD.LETTER.QUEUE'
MQGET 1, failed with CompCode:2 Reason:2016
MQCLOSE
MQDISC
这是因为队列正在使用吗?如何在队列使用时查看队列中的消息?
由于
答案 0 :(得分:4)
大多数MQ返回码的一个好建议是通过mqrc运行它们,例如:运行“mqrc 2016”
2016 0x000007e0 MQRC_GET_INHIBITED
2016年意味着队列已配置为阻止消息从队列中脱离(获取被禁止)。浏览(例如amqsbcg)只是对MQOO_BROWSE打开,然后使用browse(例如MQGMO_BROWSE_NEXT)。所以这里的问题不是队列正在使用,更多的是系统管理员阻止人们获取最终在该队列中的消息。
要运行,例如amqsbcg对它你需要启用获取第一个... runmqsc ALTER队列,获取ENABLED以启用获取,或使用资源管理器GUI执行相同操作。一旦完成就把它恢复到残疾状态可能是有意义的,所以你在发现它时就把它留下来。