Построение инфраструктуры WebSphere MQ: практическое руководство
10.3.5. Создание объекта sender-канала для периферийного менеджера очередей
Объект sender-канала позволяет установить связь между двумя менеджерами очередей в инфраструктуре. Имя объекта sender-канала должно соответствовать имени объекта удаленного канала совместимого типа, объявленного в менеджере очередей, являющемся получателем сообщений. Объект канала получателя уже объявлен в центральном менеджере очередей; все периферийные менеджеры очередей используют этот объект для подключения к центральному менеджеру очередей.
Канал принимает сообщения от транспортной очереди менеджера и передает их удаленному менеджеру очередей. Создать канал можно с использованием WebSphere MQ Explorer или команд MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Щелкните правой кнопкой папку Channels в менеджере очередей host2/spoke и выберите New\Sender Channel.
- Введите to.host1/echo.hub в поле Name.
- Щелкните Next.
- Объект sender-канала используется для создания каналов связи с центральным менеджером, поэтому полю Connection name присваивают следующее значение:
host1.example.com(9001)
- Введите host1/echo.hub в поле Transmission queue.
- Щелкните Finish.
Применение команд MQSC
Выполните следующие действия.
- Выполните следующую команду MQSC в отношении менеджера очередей host2/spoke:
DEFINE CHANNEL('to.host1/echo.hub') CHLTYPE(SDR) + CONNAME('host1.example.com(9001)') XMITQ('host1/echo.hub')
- Проверьте атрибуты канала при помощи следующей команды MQSC:
DISPLAY CHANNEL('to.host1/echo.hub')
10.3.6. Проверка канала с помощью команды ping WebSphere MQ
Ниже рассказывается, как с помощью команды WebSphere MQ ping проверить связь через канал. Однако, при этой проверке сообщения через канал не передаются. Для этой цели используются WebSphere MQ Explorer или команды MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Выберите папку Channels менеджера очередей host2/spoke.
- Щелкните правой кнопкой элемент to.host1/echo.hub и выберите команду Ping.
- Откроется окно с результатами.
Применение команд MQSC
Выполните следующую команду MQSC в отношении менеджера очередей host2/spoke:
PING CHANNEL('to.host1/echo.hub')
- в объекте sender-канала указано верное хост-имя или IP-адрес, а также номер порта для менеджера очередей host1/echo.hub ;
- имя объекта sender-канала соответствует имени объекта receiver-канала, объявленного в host1/echo.hub, вплоть до регистра символов;
- у менеджера очередей host1/echo.hub имеется активный слушатель.
10.3.7. Настройка и активация канала связи с центральным менеджером очередей
Ниже рассказывается, как автоматически стартовать канал связи между периферийным и центральным менеджерами очередей с помощью инициатора каналов WebSphere MQ при поступлении сообщения в транспортную очередь. Это делается с использованием WebSphere MQ Explorer и команд MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Выберите папку Queues в менеджере очередей host2/spoke.
- Щелкните правой кнопкой очередь host1/echo.hub и выберите Properties.
- Перейдите в секцию Triggering окна свойств очереди.
- В поле Trigger control установите значение On.
- В поле Trigger type введите First.
- Введите to.host1/echo.hub в поле Trigger data.
- Введите SYSTEM.CHANNEL.INITQ в поле, которое содержит имя очереди инициации.
- Щелкните OK.
Применение команд MQSC
Выполните следующую команду MQSC в отношении менеджера очередей host2/spoke:
ALTER QLOCAL('host1/echo.hub') TRIGGER TRIGTYPE(FIRST) + TRIGDATA('to.host1/ echo.hub') INITQ('SYSTEM.CHANNEL.INITQ')
10.3.8. Отправка тестового сообщения по каналу центральному менеджеру очередей
Ниже рассказывается, как отправить по каналу тестовое сообщение центральному менеджеру очередей. В этом примере очередь-получатель сообщения будет задана вручную в менеджере host1/echo.hub, и локально задавать дополнительные сведения о получателе не потребуется. Локальный менеджер очередей может связаться с менеджером host1/echo.hub благодаря наличию транспортной очереди с соответствующим именем. Этот механизм позволяет отправлять ответы через инфраструктуру WebSphere MQ заданным очередям, обслуживаемым заданным менеджером очередей.
- Выполните следующую команду WebSphere MQ и введите текст сообщений, предназначенных для отправки очереди, обслуживаемой центральным менеджером:Эту команду вызывают со следующими параметрами:
amqsput queue1 host2/spoke 8208 0 host1/echo.hub
- queue1 – имя очереди в host1/echo.hub ;
- host2/spoke – имя менеджера очередей, к которому требуется подключиться;
- 8208 – десятичный код параметров запроса, передаваемый при вызове MQOPEN (для данного примера этот параметр не важен, он требует открыть очередь для добавления сообщений и приводит к неудаче последующие попытки добавления сообщений если менеджер очередей находится в процессе остановки);
- 0 – отсутствие параметров при вызове MQCLOSE (для данного примера этот параметр не важен);
- host1/echo.hub – имя менеджера очередей, заданного при вызове MQOPEN. Представляет менеджер очередей, который используется в этом примере. Видно, что его значение соответствует именам удаленного менеджера очередей и транспортной очереди, применяемой менеджером host2/spoke для отправки сообщений.
- Периферийный менеджер очередей помещает сообщение в транспортную очередь. В результате инициатору канала менеджера очередей передается триггерное сообщение через SYSTEM.CHANNEL.INITQ. Канал стартует и начинает передачу сообщений удаленному менеджеру очередей. Удаленный MCA, созданный на основе объекта receiver-канала в host1/echo.hub, передает сообщения заданной очереди менеджера-получателя сообщений.
На стороне отправителя для просмотра состояния канала в WebSphere MQ Explorer используется столбец Status таблицы Channels либо следующая команда MQSC:
DISPLAY CHSTATUS('to.host1/echo.hub')
START CHANNEL('to.host1/echo.hub')
STOP CHANNEL('to.host1/echo.hub') MODE(INACTIVE)