messaging - 如何检查 Ibm Mq 上的队列是否有消费者

标签 messaging ibm-mq

如果有任何消费者存在,我如何从 IBM MQ UI 检查到特定队列

最佳答案

从 WMQ Explorer 或任何桌面客户端工具中,在队列中查找打开的输入句柄。在 WMQ Explorer 的默认 View 中,前两列是队列名称和类型。之后有几列带有数字。首先是队列深度。接下来是打开的输入句柄数,然后是打开的输出句柄数。如果您右键单击队列名称,则会有一个状态选项。选择它将向您显示有关句柄的许多详细信息,例如谁打开了它们、使用了哪些打开选项、持有句柄的 PID 等。

如果您想在命令行执行此操作,您可以使用 runmqsc 和 display qstatus 命令。例如:

echo 'dis qs(SYSTEM.ADMIN.COMMAND.QUEUE) type(handle) all' | runmqsc TESTQMGR

5724-H72 (C) Copyright IBM Corp. 1994, 2009.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager TESTQM.

AMQ8450: Display queue status details.
   QUEUE(SYSTEM.ADMIN.COMMAND.QUEUE)       TYPE(HANDLE)
   APPLDESC( )
   APPLTAG(er V7\java\jre\bin\javaw.exe)
   APPLTYPE(USER)                          BROWSE(NO)
   CHANNEL( )                              CONNAME( )
   ASTATE(NONE)                            HSTATE(INACTIVE)
   INPUT(NO)                               INQUIRE(NO)
   OUTPUT(YES)                             PID(6236)
   QMURID(0.0)                             SET(NO)
   TID(*)
   URID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
   URTYPE(QMGR)                            USERID(T.Rob@IBM-02BE93E63E4)
AMQ8450: Display queue status details.
   QUEUE(SYSTEM.ADMIN.COMMAND.QUEUE)       TYPE(HANDLE)
   APPLDESC( )
   APPLTAG(er V7\java\jre\bin\javaw.exe)
   APPLTYPE(USER)                          BROWSE(NO)
   CHANNEL( )                              CONNAME( )
   ASTATE(NONE)                            HSTATE(INACTIVE)
   INPUT(NO)                               INQUIRE(YES)
   OUTPUT(NO)                              PID(6236)
   QMURID(0.0)                             SET(NO)
   TID(*)
   URID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
   URTYPE(QMGR)                            USERID(T.Rob@IBM-02BE93E63E4)
AMQ8450: Display queue status details.
   QUEUE(SYSTEM.ADMIN.COMMAND.QUEUE)       TYPE(HANDLE)
   APPLDESC(WebSphere MQ Command Server)
   APPLTAG(ebSphere MQ\bin\amqpcsea.exe)
   APPLTYPE(SYSTEM)                        BROWSE(NO)
   CHANNEL( )                              CONNAME( )
   ASTATE(NONE)                            HSTATE(ACTIVE)
   INPUT(EXCL)                             INQUIRE(YES)
   OUTPUT(NO)                              PID(5556)
   QMURID(0.0)                             SET(NO)
   TID(1)
   URID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
   URTYPE(QMGR)

1 MQSC commands read.
One command has a syntax error.
All valid MQSC commands were processed.

您也可以使用 PCF 命令从 Java 或 C 以编程方式执行此操作,但由于您指定了“从 UI”,我猜这不是您需要的。

此处对 DIS QS 命令进行了更全面的描述:http://bit.ly/WMQdisQS 如果您需要 WMQ 资源管理器,请访问:http://bit.ly/SupportPacMQC7

关于messaging - 如何检查 Ibm Mq 上的队列是否有消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810713/

相关文章:

java - 如何从代码级别识别 websphere MQ 监听器端口已关闭

mysql - 数百万人的高效私有(private)消息传递解决方案?

sockets - 如何使用 ZeroMQ 有效地建立点对点 channel ?

messaging - 如何在基于事件、消息驱动的微服务架构中在故障场景中恢复状态

mysql - 消息表,不向已删除的人显示消息

linux - WebSphere MQ/Message Broker 在 Linux 下的表现如何?

ibm-mq - WebSphere MQ 接收器 channel 已暂停

.net - 消息处理程序的生命周期

java - SSL 与 WebSphere MQ 7

java - 使用JMS将消息放入MQ队列并通过SPLUNK消费消息