как проверить, есть ли какой-либо потребитель в очереди на Ibm Mq - PullRequest
3 голосов
/ 11 мая 2010

Как я могу проверить из IBM MQ UI это в определенной очереди, если есть какой-либо потребитель?

Ответы [ 2 ]

5 голосов
/ 11 мая 2010

Из WMQ Explorer или любого из инструментов рабочего стола клиента найдите открытый дескриптор ввода в очереди. В представлении WMQ Explorer по умолчанию первые два столбца - это имя и тип очереди. После этого есть несколько столбцов с номерами. Первый - это глубина очереди. Далее указывается количество открытых дескрипторов ввода, затем количество открытых дескрипторов ввода. Если вы щелкнете правой кнопкой мыши по имени очереди, появится опция Status. Выбор этого параметра покажет вам множество подробностей о ручках, например, кто их открыл, какие параметры открывания были использованы, 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.

Вы также можете сделать это программно из Java или C, используя команды PCF, но, поскольку вы указали «из пользовательского интерфейса», я предполагаю, что это не то, что вам нужно.

Команда DIS QS описана более подробно здесь: http://bit.ly/WMQdisQS Если вам нужен WMQ Explorer, то здесь: http://bit.ly/SupportPacMQC7

0 голосов
/ 27 мая 2010

Запустите приложение MQ.

Выберите свою очередь для «DISPLAY».

На первом экране вы увидите «Использовать счетчики - Вывод ##### Ввод #####», это ваши потребители.

В качестве альтернативы, вы можете сделать MQINQuire и запросить эти два поля.

...