Интеграция приложений на основе WebSphere MQ

Командный процессор MQSC. Основные команды


Как говорилось в предыдущих лекциях, управлять объектами WebSphere MQ можно как с помощью команд, так и с помощью WebSphere MQ Explorer. Работа и возможности, предоставляемые WebSphere MQ Explorer были рассмотрены в предыдущих лекциях. Теперь рассмотрим работу команд MQSC (MQSeries Commands). Команды WebSphere MQ разделяются на внешние и внутренние. Внешние команды представляют собой программы, откомпилированные под конкретную платформу. Некоторые из внешних команд и их назначение представлены в таблице 5.4.

Таблица 5.4. Список внешних команд WebSphere MQ

КомандаНазначение
amqmcert Управление сертификатами для использования механизма SSL
amqmdainСоздание WebSphere MQ services (только для платформыWindows)
crtmqcvxКонвертация С кода в структуру WebSphere MQ
crtmqmСоздание локального менеджера очередей
dltmqmУдаление локального менеджера очередей
dmpmqautУдаление (dump) авторизации к объекту
dmpmqlogПреобразование лог-файлов менеджера в "читаемый" вид
dspmqПросмотр состояния менеджера очередей
dspmqautПросмотр прав доступа к объектам
dspmqcapПросмотр количества процессоров
dspmqcsvПросмотр состояния командного сервера
dspmqflsВывод файловой структуры объектов
dspmqtrcВывод трассировки в файл (только для HP-UX, Linux, и Solaris)
dspmqtrnПросмотр незавершенных транзакций
endmqcsvОстановка командного сервера
endmqlsrОстановка службы listener
endmqmОстановка менеджера
endmqtrcОстановка режима трассировки (кроме AIX платформы)
rcdmqimgЗапись состояния объектов в файл
rcrmqobjВосстановление состояния объектов из файла
rsvmqtrnУправление незавершенными транзакциями
runmqchiЗапуск службы channel initiator
runmqchlСтарт sender или requester каналов
runmqdlqВосстановление сообщений из очереди недоставленных сообщений
runmqlsrЗапуск службы listener
runmqscЗапуск командного процессора внутренних команд MQSC
runmqtmcЗапуск trigger monitor для клиентской части (только для AIX платформы)
runmqtrmЗапуск trigger monitor
setmqautПредоставление прав доступа к объектам
setmqcapУстановка количества процессоров
strmqcsvЗапуск командного сервера
strmqmЗапуск менеджера очередей
strmqtrc Запуск режима трассировки


Из таблицы 5. 4 выделим команду runmqsc, которая является своего рода командным процессором для выполнения внутренних MQSC команд, позволяющих управлять объектами как локального, так и удаленного менеджера. Синтаксис команды:

runmqsc -e / -v /-w QmgrName

где:

-e - исключение вывода результата выполнения команд в отчет. Полезно для использования при вводе команд в интерактивном режиме.

-v - проверка синтаксиса команд без их выполнения. Если далее указана опция -w, то она игнорируется.

-w - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. С помощью данной опции возможно управление объектами удаленного менеджера. Если время истекло, то появится следующее сообщение:

AMQ8416: MQSC timed out waiting for a response from the command server.

QmgrName - имя менеджера очередей. Имя менеджера, являющегося менеджером по умолчанию указывать не обязательно.

Кроме непосредственного ввода внутренних команд из командной строки данная команда позволяет выполнять командный файл, содержащий различные сценарии создания и управления объектами. В таком случае синтаксис будет выглядеть

runmqsc QmgrName < create_obj.txt

где:

create_obj.txt - файл, содержащий внутренние команды MQSC.

Внутренние команды могут состоять из нескольких операторов. На первом месте стоит оператор, указывающий действие. На втором месте указывается тип объекта, к которому применяется первый оператор. Типы объектов указываются следующими операторами:

  • CHANNEL - канал;
  • CHSTATUS - состояние канала;
  • CLUSQMGR - информация о кластерных каналах менеджера;
  • PROCESS - процесс;
  • NAMELIST - список кластеров;
  • QALIAS - очередь ALIAS;
  • QCLUSTER - кластерная очередь;
  • QLOCAL - локальная очередь;
  • QMGR - менеджер;
  • QMODEL - модельная очередь;
  • QREMOTE - локальная удаленная очередь.


Основные операторы, которые, как правило, стоят на первом месте внутренней команды.

  • ALTER - изменение свойств объекта;
  • CLEAR - удаление сообщений из очереди;
  • DEFINE - создание объекта;
  • DELETE - удаление объекта;
  • DISPLAY - вывод информации об объекте;
  • END - выход из командного процессора runmqsc;
  • PING - проверка соединения;
  • REFRESH - обновление информации;
  • RESET -
  • RESET CLUSTER - выводит менеджер очередей из кластера WebSphere MQ;
  • RESET CHANNEL - сбрасывает счетчики сообщений у канала;






  • RESOLVE - управление сообщениями с признаком незавершенной транзакции;
  • RESUME - оповещение кластера WebSphere MQ о том, что менеджер очередей снова включен в данный кластер;
  • START - оператор старта;
  • STOP - оператор останова;
  • SUSPEND - временное исключение менеджера из кластера WebSphere MQ;


  • Подробный синтаксис команд можно узнать из документации [11].

    Пример создания интерфейсов передачи данных в обе стороны между двумя менеджерами QM_Win2000 и QM_HPUX с адресами 198.32.100.26 и 198.32.100.16(1421), причем на менеджере QM_HPUX канал отправитель должен переходить в состояние running как только в соответствующей трансмиссионной очереди появляется сообщение. Для этого создаются объекты на менеджере QM_Win2000:

    • HPUX_Win2000.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_HPUX;
    • HPUX_Win2000.CH - канал получатель;
    • Win2000_HPUX.TQ - трансмиссионная очередь передачи;
    • Win2000_HPUX.RQ - локальная удаленная очередь;
    • Win2000_HPUX.CH - канал отправитель.


    При создании объектов с помощью команды DEFINE следует учитывать, что если имя объекта не "берется" в символы "'", то объект будет создан с именем, содержащим только заглавные буквы. То же относится и к другим командам.

    Набор команд для создания объектов выглядит следующим образом.

    DEFINE QLOCAL ('HPUX_Win2000.Q')

    DEFINE CHANNEL ('HPUX_Win2000.CH') CHLTYPE(RCVR)

    DEFINE QLOCAL ('Win2000_HPUX.TQ') USAGE(XMITQ)

    DEFINE QREMOTE ('Win2000_HPUX.RQ') XMITQ('Win2000_HPUX.TQ') + RNAME('Win2000_HPUX.Q') RQMNAME('QM_HPUX')

    DEFINE CHANNEL ('Win2000_HPUX.CH') CHLTYPE(SDR) + CONNAME('198.32.100.16(1421)') DISCINT(999999) + XMITQ('Win2000_HPUX.TQ')

    Создадим объекты на менеджере QM_HPUX:

    • Win2000_HPUX.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_Win2000;
    • Win2000_HPUX.CH - канал получатель;
    • HPUX _Win2000.TQ - трансмиссионная очередь передачи;
    • HPUX _Win2000.RQ - локальная удаленная очередь;
    • HPUX _Win2000.CH - канал отправитель.


    Команды для создания этих объектов будут выглядеть следующим образом.

    DEFINE QLOCAL ('Win2000_HPUX.Q')

    DEFINE CHANNEL ('Win2000_HPUX.CH') CHLTYPE(RCVR)

    DEFINE QREMOTE ('HPUX_Win2000.RQ') + XMITQ('HPUX_Win2000.TQ') + RNAME('HPUX_Win2000.Q') + RQMNAME('QM_Win2000')

    DEFINE QLOCAL ('HPUX_Win2000.TQ') + USAGE(XMITQ) + TRIGGER + TRIGTYPE(FIRST) + TRIGDPTH(1) + TRIGDATA('HPUX_Win2000.CH') + INITQ('SYSTEM.CHANNEL.INITQ')

    DEFINE CHANNEL ('HPUX_Win2000.CH') CHLTYPE(SDR) + CONNAME('172.25.4.150') + DISCINT(999999) + XMITQ('HPUX_Win2000.TQ')

    Эти команды можно поместить в два текстовых файла, а затем, выполнив команду runmqsc на каждом менеджере с указанием соответствующего файла, можно получить готовый интерфейс для передачи данных между двумя платформами: UNIX и Windows. Кроме этого, используя команды рестарта каналов, можно управлять их состоянием.



    DEFINE QLOCAL ('Win2000_HPUX.Q')

    DEFINE CHANNEL ('Win2000_HPUX.CH') CHLTYPE(RCVR)

    DEFINE QREMOTE ('HPUX_Win2000.RQ') + XMITQ('HPUX_Win2000.TQ') + RNAME('HPUX_Win2000.Q') + RQMNAME('QM_Win2000')

    DEFINE QLOCAL ('HPUX_Win2000.TQ') + USAGE(XMITQ) + TRIGGER + TRIGTYPE(FIRST) + TRIGDPTH(1) + TRIGDATA('HPUX_Win2000.CH') + INITQ('SYSTEM.CHANNEL.INITQ')

    DEFINE CHANNEL ('HPUX_Win2000.CH') CHLTYPE(SDR) + CONNAME('172.25.4.150') + DISCINT(999999) + XMITQ('HPUX_Win2000.TQ')

    Эти команды можно поместить в два текстовых файла, а затем, выполнив команду runmqsc на каждом менеджере с указанием соответствующего файла, можно получить готовый интерфейс для передачи данных между двумя платформами: UNIX и Windows. Кроме этого, используя команды рестарта каналов, можно управлять их состоянием.

    © 2003-2007 INTUIT.ru. Все права защищены.

    Содержание раздела