Обмен сообщениями с использованием WebSphere MQ: практическое введение
9.3.6. Добавление тестовых сообщений в очередь
Ниже рассказывается, как поместить в ранее созданную очередь сообщения с произвольным текстом при помощи WebSphere MQ Explorer и программы-примера amqsput для WebSphere MQ, работающей с менеджером очередей по умолчанию на данном компьютере.
Видно, что после добавления сообщений в очередь значение ее атрибута "текущая длина" ( CURDEPTH ) изменяется и отражает число добавленных сообщений. О просмотре этого атрибута см. в "Обмен сообщениями с использованием WebSphere MQ: практическое введение" .
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Выделите папку Queues менеджера очередей host1/qm1, расположенную в папке Queue Managers в окне навигатора.
- Щелкните правой кнопкой строку queue1 в таблице и выберите команду Put Test Message – откроется одноименное окно.
- Введите в поле Message data текст сообщения.
- Щелкните Put message – поле Message data опустеет. Так можно ввести несколько тестовых сообщений; после ввода каждого сообщения щелкайте Put message.
- Щелкните Close, чтобы закрыть окно.
Применение программы-примера для WebSphere MQ
Выполните следующие действия.
- Выполните следующую команду:Генерируется следующий вывод, после чего команда ожидает ввода пользователя:
amqsput queue1
Sample AMQSPUT0 start target queue is queue1
- Введите сообщение и нажмите клавишу Enter. Так можно ввести несколько тестовых сообщений; после ввода каждого сообщения нажимайте Enter.
- Чтобы выйти, нажмите Enter, не вводя текста.
Sample AMQSPUT0 start MQCONN ended with reason code 2059
Sample AMQSPUT0 start target queue is QUEUE1 MQOPEN ended with reason code 2085 unable to open queue for output Sample AMQSPUT0 end
2058 0x0000080a MQRC_Q_MGR_NAME_ERROR 2059 0x0000080b MQRC_Q_MGR_NOT_AVAILABLE 2085 0x00000825 MQRC_UNKNOWN_OBJECT_NAME
9.3.7. Просмотр сообщений, добавленных в очередь
Здесь рассказывается, как осуществляется просмотр сообщений, находящихся в данный момент в очереди WebSphere MQ, без их удаления. Для просмотра доступно как содержимое сообщений, так и сведения о них, хранимые в дескрипторах сообщений.
Сообщения, добавляемые в очередь, являются непостоянными ( nonpersistent messages ). В поле reply-to queue manager сообщений автоматически записывается строка host1/qm1 менеджером, в чью очередь добавлены эти сообщения.
Сообщения, генерация которых описана в "Обмен сообщениями с использованием WebSphere MQ: практическое введение" , представляли собой дейтаграммы, то есть сообщения, не требующие ответа.
В силу этой причины значение reply-to queue не определялось WebSphere MQ Explorer или программой-примером amqsput при добавлении сообщения.
Сейчас мы воспользуемся интерфейсом WebSphere MQ Explorer либо программой-примером amqsbcg для WebSphere MQ.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Щелкните правой кнопкой очередь в таблице менеджера очередей и выберите Browse Messages – откроется окно с индикатором хода операции, а затем окно Message browser.
- Каждая строка в таблице, отображаемой в окне Message browser, представляет одно из сообщений в очереди. В столбцах этой таблицы отображается информация о сообщении, которая находится в дескрипторе сообщения, а также содержимое или данные сообщения. Настраивая схему таблицы, можно изменять порядок столбцов, чтобы, например, переместить столбцы Persistence, Message type, Message data, Reply-to queue и Reply-to Queue Manager в начало таблицы.
- Некоторые типы сообщений лучше просматривать в виде двоичных данных, а не текста. Для этого дважды щелкните строку таблицы, представляющую сообщение, – откроется окно свойств сообщения. Щелкните секцию Data в этом окне.
Применение программы-примера для WebSphere MQ
Выполните следующие действия:
- Выполните следующую команду для просмотра сообщений в очереди менеджера по умолчанию; вывод команды будет перенаправлен в файл queue1.txt:
amqsbcg queue1 > queue1.txt
- Откройте queue1.txt в любом текстовом редакторе. Для каждого из сообщений в файле содержатся сведения из дескриптора и содержимое в двоичном и текстовом (справа) представлении.
Читать сведения из такого файла сложнее, чем в WebSphere MQ Explorer. Разберем значение наиболее интересных полей вывода команды amqsbcg.
MsgType : 8
Тип 8 соответствует дейтаграммам. Запросы имеют тип 1, ответы – 2, отчеты – 4.
Persistence : 0
Значение "0" свидетельствует о том, что сообщение является непостоянным, а значение "1", напротив, говорит о том, что это сообщение является постоянным.
ReplyToQ : ' '
В этом поле отображается 48-значное имя очереди ответов (reply-to queue). Если в имени меньше 48 символов, недостающие символы заменяются пробелами, расположенными справа. Такие данные называются дополненными пробелами (blankpadded), они часто используются в структурах WebSphere MQ. В этом примере данное поле в дескрипторе сообщений пусто.
ReplyToQMgr : 'host1/qm1 '
Это поле содержит 48-значное дополненное пробелами имя менеджера очереди ответов (reply-to queue manager), оно автоматически заполняется менеджером очередей при размещении сообщения.
**** Message **** length – 20 bytes 00000000: 5265 6462 6F6F 6B20 7465 7374 206D 6573 'Redbook test mes' 00000010: 7361 6765 'sage '
Здесь отображается содержимое сообщения в двоичном и (справа) в текстовом представлении. Это существенно облегчает просмотр содержимого некоторых типов сообщений, особенно объемных, которые проще просматривать в двоичном представлении. Впрочем, содержимое простых тестовых сообщений из наших примеров как раз удобнее просматривать в текстовом представлении.