Россия |
Авторизация и средства администрирования
Командный процессор MQSC. Основные команды
Как говорилось в предыдущих лекциях, управлять объектами WebSphere MQ можно как с помощью команд, так и с помощью WebSphere MQ Explorer. Работа и возможности, предоставляемые WebSphere MQ Explorer были рассмотрены в предыдущих лекциях. Теперь рассмотрим работу команд MQSC (MQSeries Commands). Команды WebSphere MQ разделяются на внешние и внутренние. Внешние команды представляют собой программы, откомпилированные под конкретную платформу. Некоторые из внешних команд и их назначение представлены в таблице 5.4.
Из таблицы 5.4 выделим команду runmqsc , которая является своего рода командным процессором для выполнения внутренних MQSC команд, позволяющих управлять объектами как локального, так и удаленного менеджера. Синтаксис команды:
где:
-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 -
- 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. Кроме этого, используя команды рестарта каналов, можно управлять их состоянием.