Беларусь, Минск |
Построение инфраструктуры WebSphere MQ: практическое руководство
10.2.4. Подключение с использованием объекта канала клиентского подключения
Объекты каналов клиентского подключения в WebSphere MQ предназначены для исчерпывающей настройки атрибутов клиентских MCA.
При определении объекта канала клиентского подключения создается запись в файле, называемом "таблица определений клиентских каналов" (client channel definition table, CCDT), данного менеджера очередей. Он используется клиентами для получения сведений о доступных менеджерах очередей. Этот файл может быть создан любым менеджером очередей, а не только тем, к которому подключается приложение. Далее этот файл может быть скопирован на удаленные машины либо опубликован в сети.
Ниже рассказывается, как сконфигурировать базовые программы-примеры WebSphere MQ с использованием параметров, заданных в CCDT, при подключении к менеджерам очередей.
Выполните следующие действия.
- Создайте для менеджера очередей host1/echo.hub два канала серверного подключения (см. "Построение инфраструктуры WebSphere MQ: практическое руководство" ) с именами client.channel1 и client.channel2. Альтернативный вариант – определение отдельных каналов у различных менеджеров очередей, слушатели которых привязаны к разным портам одного или различных компьютеров.
- Создайте два объекта канала клиентского подключения (оба для менеджера очередей host1/echo.hub ), их имена должны соответствовать именам ранее созданных объектов каналов серверных подключений.
- В WebSphere MQ Explorer.
- Щелкните правой кнопкой папку Client Connections для менеджера host1/echo.hub и выберите New\Client-connection Channel.
- Введите client.channel1 в поле Name.
- Щелкните Next.
- Введите echo.hub в поле Queue manager name (здесь преднамеренно вводится имя, отличное от реального имени менеджера очередей).
- Введите host1.example.com(9001) в поле Connection name.
- Щелкните Finish.
- Повторите шаги 1-6, чтобы создать второй объект канала клиентского подключения с именем client.channel2. Атрибуту, задающему имя менеджера очередей, должно быть присвоено значение echo.hub. Имя подключения может быть тем же, если оба объекта канала серверного подключения связаны с одним менеджером очередей (в противном случае используйте имя, заданное для подключения ко второму менеджеру очередей).
- С помощью команд MQSC. Исполните следующие команды MQSC в отношении менеджера очередей host1/echo.hub:Атрибут "имя подключения" ( CONNAME ) во втором определении может содержать имя подключения к другому менеджеру очередей, представленного объектом канала серверного подключения client.channel2.
DEFINE CHL('client.channel1') CHLTYPE(CLNTCONN) + QMNAME('echo.hub') CONNAME('host1.example.com(9001)') DEFINE CHL('client.channel2') CHLTYPE(CLNTCONN) + QMNAME('echo.hub') CONNAME('host1.example.com(9001)')
- В WebSphere MQ Explorer.
- Ниже предполагается, что клиентское приложение работает на той же машине, что и менеджер очередей host1/echo.hub. В противном случае скопируйте CCDT на эту машину и отредактируйте переменные окружения, прописав в них локальные пути по отношению к клиентским приложениям.
Чтобы указать клиентскому MCA, используемому программами-примерами WebSphere MQ, расположение CCDT, определите следующие переменные окружения.
- В Windows:
set MQSERVER= set "MQCHLLIB=C:\Program Files\IBM\WebSphere MQ\Qmgrs\host1&echo!hub\@ipcc" set MQCHLTAB=AMQCLCHL.TAB
- В UNIX:
unset MQSERVER MQCHLLIB='/var/mqm/qmgrs/host1&echo!hub/@ipcc' MQCHLTAB=AMQCLCHL.TAB export MQCHLLIB export MQCHLTAB
- В Windows:
- Запустите программу-пример amqsputc для менеджера очередей host1/echo.hub:
amqsputc queue1 *echo.hub
- Оставьте программу amqsputc подключенной к менеджеру очередей в ожидании ввода.
- Отобразите имя используемого канала (если используется два менеджера очередей, выполните эти действия для каждого менеджера).
- С помощью WebSphere MQ Explorer.
Выберите папку Channels (в менеджере очередей host1/echo.hub ). Обратите внимание, что объекты каналов серверных подключений client.channel1 и client.channel2 находятся в состоянии running ("работает").
- С помощью MQSC.
Выполните следующую команду MQSC; заметьте, что для одного из объектов канала серверного подключения поле STATUS имеет значение RUNNING:
DIS CHSTATUS('client.*')
- С помощью WebSphere MQ Explorer.
- Передайте пустую строку программе amqsputc, чтобы завершить ее.
- Отключите канал серверного подключения.
- В WebSphere MQ Explorer
Выберите папку Channels (для host1/echo.hub ). Щелкните правой кнопкой канал и выберите Stop ; убедитесь, что в поле New State указано значение Stopped.
- С помощью команд MQSC.
Выполните следующую команду в отношении менеджера очередей host1/echo.hub, указав имя работающего канала:
STOP CHANNEL('client.channel1') STATUS(STOPPED)
- В WebSphere MQ Explorer
- Снова запустите программу amqsputc. Обратите внимание, что она работает, хотя ранее использованный канал теперь недоступен, поскольку используется вторая запись CCDT (которая может соответствовать другому менеджеру очередей, как сказано выше).
10.2.5. Удаленное администрирование менеджера очередей
Ниже рассказывается о применении WebSphere MQ Explorer для удаленного администрирования менеджеров очередей с использованием клиентских подключений. В этом примере предполагается, что менеджер очередей работает на одном компьютере с WebSphere MQ Explorer. Однако WebSphere MQ Explorer также поддерживает администрирование менеджеров очередей на нескольких удаленных компьютерах, в том числе на разных платформах. Кроме того, WebSphere MQ Explorer также позволяет администрировать менеджеры очередей в WebSphere MQ для z/OS V6.0.
- объект-слушатель, привязанный к известному порту;
- объект канала серверного подключения с известным именем;
- работающий командный сервер;
- модельная очередь SYSTEM.MQEXPLORER.REPLY.MODEL.
В Windows и UNIX менеджеры очередей, созданные при помощи WebSphere MQ V6.0, по умолчанию имеют работающий командный сервер и нужную модельную очередь. Однако менеджеры очередей в WebSphere MQ версии 5.3 и ниже требуют ручной настройки этих компонентов; то же верно для менеджеров, созданных в WebSphere MQ V5.3 и обновленных до WebSphere MQ V6.0. Чтобы вручную подготовить нужные компоненты, выполните следующие действия.
Далее выполните следующие действия.
- Щелкните правой кнопкой папку Queue Managers в WebSphere MQ Explorer и выберите Show/Hide Queue Managers (см. рис. 10.1).
- В окне Show/Hide Queue Managers щелкните Add – запустится мастер Add Queue Manager, позволяющий настроить способ подключения WebSphere MQ Explorer к менеджеру очередей. В этом примере подключение будет выполнено, как описано в "Построение инфраструктуры WebSphere MQ: практическое руководство" .
- На первой странице мастера введите имя менеджера очередей в поле Queue manager name, например host1/echo.hub.
- Установите параметр Connect directly.
- Щелкните Next.
- Введите хост-имя или IP-адрес компьютера, на котором работает менеджер очередей host1/echo.hub. В этом примере используется хост-имя host1.example.com, для локального компьютера можно использовать имя localhost.
- Укажите порт, к которому привязан слушатель заданного менеджера очередей, например 9001.
- Укажите имя объекта канала серверного подключения, объявленного для менеджера очередей (в этом примере – all.clients ).
- Щелкните Finish.
Ниже на рис. 10.2 показан пример вводимой информации.
В результате выбранный менеджер очередей будет добавлен к таблице Shown Queue Managers в окне Show/Hide Queue Managers.
- Щелкните Close в окне Show/Hide Queue Managers.
- Заметьте, что теперь этот менеджер очередей доступен в папке Queue Managers, подобно локальным менеджерам очередей. Имя подключения, добавленное к имени этого менеджера очередей, свидетельствует о том, что он является удаленным, а его значок отличается от значков локальных менеджеров очередей (см. рис. 10.3).
10.2.6. Пример публикации-подписки для JMS, использующий клиентское подключение
Чтобы настроить пример, иллюстрирующий публикацию-подписку в JMS (см. "Обмен сообщениями с использованием WebSphere MQ: практическое введение" ) для использования клиентского подключения к менеджеру очередей, достаточно изменить объекты в каталоге так, чтобы к ним можно было обращаться через JNDI. Ни исходный текст, ни способ вызова примера модификации не требует.
Ниже описано, как настроить объекты в каталоге для доступа через JNDI, чтобы программа-пример для JMS смогла подключаться к менеджеру очередей как клиент.
Выполните следующие действия.
- Настройте текущее окно командной строки или терминальный сеанс, как описано в "Обмен сообщениями с использованием WebSphere MQ: практическое введение" .
- Настройте слушатель для менеджера очередей host1/jmspubsub, привязав его к порту 9010 (см. "Построение инфраструктуры WebSphere MQ: практическое руководство" ).
- Объявите объект канала серверного подключения с именем jms.clients для менеджера host1/jmspubsub.
- Запустите утилиту WebSphere MQ JMS Administration tool (см. "Обмен сообщениями с использованием WebSphere MQ: практическое введение" ).
- Объявите в TCF клиентское подключение для удаленного менеджера очередей (ранее TCF использовался для подключения к локальному менеджеру очередей). Для этого выполните следующую команду в WebSphere MQ JMS Administration tool (вводите команду как одну строку):
ALTER TCF(PubSub.TCF) HOSTNAME(host1.example.com) PORT(9010) TRANSPORT(CLIENT) CHANNEL(jms.clients)
- Завершите WebSphere MQ JMS Administration tool с помощью команды END.
- Запустите программу-пример (не изменяя код и не компилируя ее заново) как издатель (см. "Обмен сообщениями с использованием WebSphere MQ: практическое введение" ), затем как подписчик (см. "Обмен сообщениями с использованием WebSphere MQ: практическое введение" ).