如果有任何消费者存在,我如何从 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/