Утилита “Q”

   В поставке WebSphere MQ “из коробки” нет какой-либо программы для работы с сообщениями. То есть нет удобного способа помещать сообщения в очереди/файлы, и получать сообщения из очередей/файлов, используя при этом необходимые параметры, например, формат и тип сообщения, CCSID, Encoding и многие другие. Для этих целей предназначена программа “Q”.

Где скачать?

Утилита “Q” входит в состав SupportPac MA01: WebSphere MQ – Q program. Также Вы можете скачать утилиту “Q” здесь:

Icon of Zip Archives ma01 (8.0 MB)

Содержание архива:

  • Директория “V6.0” – актуальная версия программы “Q” для различных платформ;
  • Директория “Previous” – предыдущие версии программы “Q” для различных платформ;
  • Директория “Licenses” – файлы лицензионных соглашений;
  • ma01_readme.txt – файл с описанием.

   Для установки утилиты распакуйте архив ma01.zip в любое удобное место и через командную строку запустите версию “Q”, подходящую для вашей платформы.

Описание

   “Q” (или “q”) – это утилита командной строки, позволяющая взять сообщения из “источника”, в качестве которого может выступать очередь или файл, и поместить в “приемник”, которым так же может быть очередь (даже очередь другого менеджера) или файл. Конечно, для подобных действий можно использовать утилиту rfhutil, но когда требуется работать с потоком сообщений, или автоматизировать какое-либо действие, без утилиты “q” не обойтись. Именно утилита “q” позиционируется IBM как первое средство для работы с сообщениями. При выполнении операций put/get возможно использовать необходимые параметры, которые подробно расписаны в файле ma01_readme.txt.

Соединение с удаленным менеджером

Для работы с удаленным менеджером очередей необходимо:

1. Установить MQ Client на ПК с которого будет запускаться утилита “q”.

2. На этом же ПК перейти в: Пуск -> Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды.
В разделе “Системные переменные” создать переменную MQSERVER со значением по шаблону: channel_name/TCP/host(port), где:

  • channel_name – имя канала для соединения с сервером
  • TCP – тип соединения TCP/IP
  • host – IP адрес сервера
  • port – порт для соединения с менеджером очередей

Например: SYSTEM.DEF.SVRCONN/TCP/9.242.192.146(1414)

3. Для того, что бы утилита “q” смогла соединиться с указанным в MQSERVER удаленным менеджером, необходимо перезапустить компьютер.

Примеры работы с утилитой q

    Как отмечалось ранее, “q” может читать сообщения из файла и помещать их в очередь, а также брать сообщения из очереди и помещать их в файл. Таким образом, два экземпляра утилиты “Q” могут использоваться в качестве примитивной программы для передачи файлов.

  Далее рассмотрим несколько примеров работы с утилитой. Предполагается, что утилита работает на ПК пользователя, на котором установлен MQ Client и настроено соединение с удаленным менеджером QM1.

1. Все сообщения из очереди D.TEST1 менеджера очередей QM1 скопировать в очереди D.TEST2, D.TEST3 и файл C:\copied_messages.txt.

2. Поместить в очередь D.TEST2 менеджера очередей QM1 сообщения из файлов C:\test_message1.txt, C:\test_message2.txt, C:\test_message3.txt, установив CCSID=1025 и Encoding=785.

 3. Написать скрипт (ОС Windows) для специалистов первой линии поддержки, который будет выбирать первое сообщение из указанной очереди менеджера QM1 и помещать его в очередь D.TRASH. Для информации выводить длину сообщения.

Предлагаемый вариант решения (bat-файл):

   Несмотря на широкие возможности утилиты “q”, у нее есть и ряд минусов. Основным из которых, на мой взгляд, является то, что работая с файлами, то есть загружая сообщения в очередь из файлов или, наоборот, выгружая сообщения из очереди в файлы, необходимо учитывать, что в файле может находиться только одно сообщение. Другими словами, если выгрузить несколько сообщений в один файл, а потом попытаться загрузить из него сообщения в очередь, получится одно сообщение в очереди.

    Так же стоит отметить неудобную работу с сообщениями в составе группы. Не понятно как задавать логический номер сообщения (sequence number), флаги “сообщение в группе” и “последнее сообщение в группе”. Для этих целей удобнее использовать утилиту rfhutil.

VN:F [1.9.22_1171]
Rating: 4.5/5 (2 votes cast)
Tagged with: , ,
Posted in WebSphere MQ, Tools

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Language: