Ibm mq IBM Websphere MQ-查看队列中的消息

Ibm mq IBM Websphere MQ-查看队列中的消息,ibm-mq,Ibm Mq,我正在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.QM

我正在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 
这是因为队列正在使用吗?当队列正在使用时,我还能如何查看队列中的消息?


谢谢

大多数MQ返回代码的一个好提示是通过mqrc运行它们,例如运行“mqrc 2016”

2016 0x000007e0 MQRC_获取_禁止

因此2016意味着队列已配置为防止消息从队列中传出(GET被禁止)。浏览(例如amqsbcg)只是打开MQOO_浏览,然后使用浏览获取(例如MQGMO_browse_NEXT)。因此,这里的问题不在于队列正在使用,而在于系统管理员阻止人们获取最终到达该队列的消息


要针对它运行例如amqsbcg,您需要先启用gets。。。运行MQSC ALTER queue、启用get以启用get,或使用浏览器GUI执行相同的操作。一旦完成,将其放回禁用状态可能是有意义的,因此您可以保持原样。

大多数MQ返回代码的一个好提示是通过mqrc运行它们,例如运行“mqrc 2016”

2016 0x000007e0 MQRC_获取_禁止

因此2016意味着队列已配置为防止消息从队列中传出(GET被禁止)。浏览(例如amqsbcg)只是打开MQOO_浏览,然后使用浏览获取(例如MQGMO_browse_NEXT)。因此,这里的问题不在于队列正在使用,而在于系统管理员阻止人们获取最终到达该队列的消息


要针对它运行例如amqsbcg,您需要先启用gets。。。运行MQSC ALTER queue、启用get以启用get,或使用浏览器GUI执行相同的操作。一旦完成,将其放回禁用状态可能是有意义的,这样您就可以保持原样。

谢谢您,杰森。不确定如何使用回答中的命令:例如runmqsc ALTER queue-您是这样运行的,还是用队列名称替换“queue”?首先在命令shell中运行“runmqsc”命令。这将打开一个MQ shell。在shell提示符中运行“alterql(SYSTEM.DEAD.LETTER.QUEUE)get(ENABLED)”。谢谢。不确定如何使用回答中的命令:例如runmqsc ALTER queue-您是这样运行的,还是用队列名称替换“queue”?首先在命令shell中运行“runmqsc”命令。这将打开一个MQ shell。在shell提示符中运行“alterql(SYSTEM.DEAD.LETTER.QUEUE)get(ENABLED)”。