Опубликован: 10.06.2008 | Уровень: специалист | Доступ: платный | ВУЗ: Компания IBM
Лекция 9:

Обмен сообщениями с использованием WebSphere MQ: практическое введение

Аннотация: Эта лекция посвящена созданию, запуску и администрированию локальных менеджеров очередей WebSphere MQ. Изучив ее, вы освоите работу с WebSphere MQ Explorer и применение управляющих команд WebSphere MQ. Вы также найдете здесь пошаговые инструкции для решения общих задач конфигурирования менеджеров очередей с использованием WebSphere MQ Explorer и сценариев MQSC. Межточечный обмен сообщениями (по принципу "точка-точка", point-to-point), как и рассылка сообщений по подписке (publish/subscribe messaging), осуществляется с использованием локальной инфраструктуры WebSphere MQ, построение которой – ваша задача. Эта инфраструктура включает менеджер очередей, в котором работает служба, поддерживающая интерфейс запросов-ответов. Эта служба запускается при добавлении сообщений в очередь

В этой лекции обсуждаются следующие темы:

  • Обзор глав с практическими заданиями
  • Настройка окружения
  • Обмен сообщениями с использованием локального менеджера очередей
  • Создание службы обработки запросов и ответов на основе очереди
  • Рассылка сообщений по подписке в WebSphere MQ с использованием JMS

9.1. Обзор глав с практическими заданиями

Этот курс содержит практическое введение в очереди сообщений WebSphere MQ, которое разбито на две лекции.

  • В этой лекции вы научитесь создавать и администрировать менеджеры очередей, обеспечивающие доступ к службам обработки сообщений. Эти службы доступны посредством менеджеров очередей и поддерживают различные модели обмена сообщениями: межточечный обмен либо рассылку сообщений по подписке.
  • В "Построение инфраструктуры WebSphere MQ: практическое руководство" вы научитесь связывать менеджеры очередей с использованием TCP/IP-сетей как в центрально-лучевую (hub-and-spoke) инфраструктуру, так и в кластеры с целью предоставления доступа к этим службам.

При изучении материалов введения вы будете пользоваться административными интерфейсами и примерами приложений из состава WebSphere MQ.

9.1.1. Администрирование менеджеров очередей

Многие административные задачи решаются с использованием WebSphere MQ Explorer либо интерфейса сценариев MQSC. Ниже приводятся пошаговые инструкции для обоих случаев.

Если у вас нет опыта работы с WebSphere MQ, рекомендуем воспользоваться WebSphere MQ Explorer. По мере накопления знаний можно приступать к освоению MQSC – так вы научитесь создавать сценарии для решения описанных в этой главе задач. Так, процедуры контроля изменений могут требовать сценариев MQSC для внесения любых изменений в производственной среде.

Примечание Здесь и далее используются имена в нижнем регистре как оптимальные для администрирования с применением WebSphere MQ Explorer.

Следите, чтобы в командах MQSC значения атрибутов и имена объектов, содержащие символы в нижнем регистре, были заключены в одинарные кавычки. Регулярное применение кавычек – общая рекомендация при работе с MQSC, позволяющая избежать путаницы.

9.1.2. Программы-примеры в WebSphere MQ

С WebSphere MQ поставляется множество программ-примеров, как в виде исходного кода, так и в прекомпилированном, готовом к применению виде. В этой книге приводятся примеры на языке программирования С, использующие интерфейс очередей сообщений (MQI) для демонстрации межточечного обмена сообщениями. Имеются также аналогичные примеры на других языках программирования.

Примеры на языке Java, использующие JMS – стандартный интерфейс прикладного программирования (API), – иллюстрируют обмен сообщениями по механизму публикации-подписки. По большому счету то же верно для клиентов IBM Message Service (XMS).

Обмен сообщениями по подписке также может быть реализован при помощи соответствующих команд WebSphere MQ, адресованных брокеру публикации-подписки WebSphere MQ. Это возможно с использованием любого из API для межточечного обмена сообщениями, поддерживаемого WebSphere MQ.

Прежде чем приступать к созданию решений на основе WebSphere MQ, прикладным программистам рекомендуется изучить прилагаемые примеры исходного кода на С либо других языках программирования. Эти примеры послужат хорошей отправной точкой при разработке и тестировании таких решений.

9.2. Настройка окружения

В этой главе предполагается, что вы работаете на сервере под управлением ОС Windows или Linux с WebSphere MQ V6.0. Впрочем, все задачи (за исключением связанных с WebSphere MQ Explorer) могут быть выполнены удаленно на UNIX-сервере с WebSphere MQ V6.0.

Примечание Если вы работаете с WebSphere MQ на Linux-сервере, следуйте отдельным инструкциям, приведенным ниже.

9.2.1. Установка WebSphere MQ V6.0

Подробнее об установке сервера WebSphere MQ см. в руководстве WebSphere MQ V6.0 Quick Beginnings для соответствующей платформы:

  • WebSphere MQ для Windows V6.0 Quick Beginnings, GC34-6476
  • WebSphere MQ для Linux V6.0 Quick Beginnings, GC34-6480

Установите все необходимые и дополнительные компоненты, сделайте необходимые настройки.

9.2.2. Привилегии администратора WebSphere MQ

Учетная запись, под которой вы входите в систему, должна иметь привилегии администратора WebSphere MQ.

  • В Windows: ваша учетная запись должна быть членом одной из следующих групп:
    • Administrators,
    • mqm.
  • В UNIX: ваша учетная запись должна быть членом группы
    • mqm.

9.2.3. Доступ к примерам WebSphere MQ

Каталог с примерами WebSphere MQ должен быть в пути поиска, заданном соответствующей переменной окружения в ОС. При установке WebSphere MQ в Windows это делается автоматически.

Примеры WebSphere MQ устанавливаются в следующий каталог.

  • В Windows: C:\Program Files\IBM\WebSphere MQ\Tools\c\Samples\Bin
  • В UNIX (кроме IBM AIX 5L): /opt/mqm/samp/bin – добавьте этот путь к пути поиска текущего терминального сеанса, например так:
    PATH=$PATH:/opt/mqm/samp/bin
    export PATH
  • В IBM AIX 5L: /usr/mqm/samp/bin – добавьте этот путь к пути поиска текущего терминального сеанса, например так:
    PATH=$PATH:/usr/mqm/samp/bin
    export PATH

9.2.4. Замечания о Java

Действия, описанные в разделе 9.5, требуют установки пакета Java Development Kit (JDK), расположенного в каталоге prereqs на установочном носителе WebSphere MQ V6.0. Если установить JDK невозможно, упражнения, посвященные обмену сообщениями по подписке, следует пропустить.

9.3. Обмен сообщениями с помощью локального менеджера очередей

В этом разделе вы познакомитесь с графическим интерфейсом, а также с интерфейсом командной строки, применяемым для создания, запуска, завершения и удаления менеджеров очередей. Кроме того, вы научитесь добавлять и извлекать из очереди тестовые сообщения, а также просматривать содержимое очередей с использованием WebSphere MQ Explorer и программ-примеров WebSphere MQ.

Ниже предполагается, что вы знакомы с интерфейсами и примерами из этого раздела.

9.3.1. Создание менеджера очередей по умолчанию

Ниже показано, как создать на компьютере менеджер очередей и назначить его менеджером очередей по умолчанию.

Это делается при помощи мастера WebSphere MQ Explorer Create Queue Manager либо команды crtmqm WebSphere MQ.

Применение WebSphere MQ Explorer

Выполните следующие действия.

  1. Щелкните правой кнопкой папку Queue Managers в навигаторе и выберите New\Queue Manager – откроется страница Enter Basic Values (Step 1) мастера Create Queue Manager.
  2. Введите host1/qm1 в поле Queue manager name.
  3. Установите параметр Make this the default queue manager.
  4. Для остальных параметров примите значения по умолчанию и щелкните Next, не щелкая кнопку Finish, – откроется страница Enter log values (Step 2).
  5. Оставьте на этой странице значения по умолчанию и щелкните Next, не щелкая Finish, – откроется страница Enter configuration options (Step 3).
  6. Снимите флажок Start queue manager.
    Примечание Флажок Start queue manager позволяет автоматически выполнить действия, описанные в "Обмен сообщениями с использованием WebSphere MQ: практическое введение" .

    Параметр Auto start менеджера очередей поддерживается только в Windows и позволяет автоматически запустить менеджер очередей при перезагрузке компьютера.

  7. Для остальных полей оставьте значения по умолчанию и щелкните Next, не щелкая Finish, – откроется страница Enter listener options (Step 4).
    Примечание Если на вашем компьютере уже есть менеджер очередей с компонентом-слушателем WebSphere MQ, привязанным к стандартному TCP/IP-порту, на этой странице может появиться сообщение "The port is already used by another WMQ Listener".
  8. Снимите флажок Create listener configured for TCP/IP.
    Примечание Этот флажок позволяет автоматически выполнить действия, описанные в "Построение инфраструктуры WebSphere MQ: практическое руководство" .
  9. Для остальных полей оставьте значения по умолчанию и щелкните Next, не щелкая Finish, – откроется страница Enter explorer options (Step 5).
  10. Оставьте значения по умолчанию на этой странице и щелкните Finish.
  11. Откроется окно Creating Queue Manager "host1/qm1" с сообщением о состоянии.
    Примечание Если щелкнуть Show details в этом окне, можно просматривать команды WebSphere MQ, исполняя которые WebSphere MQ Explorer создает менеджер очередей. При этом после завершения установки (выводом сообщения Finished в главном окне) окно состояния следует закрыть вручную.
  12. Завершив это упражнение, убедитесь, что в окне навигатора в папке Queue Managers отображается менеджер очередей в виде значка, соответствующего остановленному локальному менеджеру очередей.
Применение управляющих команд WebSphere MQ

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

crtmqm -q host1/qm1
Примечание В отсутствие параметра -q созданный менеджер не станет менеджером очередей по умолчанию на данном компьютере.

Эта команда генерирует следующий вывод:

WebSphere MQ queue manager created.
Creating or replacing default objects for host1/qm1.
Default objects statistics : 43 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.

Следующая команда позволяет проверить, создан ли менеджер очередей:

dspmq

Эта команда генерирует следующий вывод:

QMNAME(host1/qm1) STATUS(Ended immediately)

9.3.2. Запуск менеджера очередей по умолчанию

Ниже показано, как запустить созданный ранее менеджер очередей. Это делается с помощью WebSphere MQ Explorer либо управляющих команд amqmdain/strmqm WebSphere MQ.

В управляющих командах WebSphere MQ не обязательно указывать имя менеджера очередей, поскольку эти команды адресованы менеджеру очередей по умолчанию.

Применение WebSphere MQ Explorer

Щелкните правой кнопкой менеджер очередей host1/qm1 в окне навигатора и выберите Start – откроется окно, похожее на то, что отображалось во время создания менеджера очередей.

Завершив это упражнение, убедитесь, что в окне навигатора в папке Queue Managers отображается менеджер очередей в виде значка, соответствующего работающему локальному менеджеру очередей.

Применение управляющих команд WebSphere MQ

Команды для UNIX и Windows отличаются следующим:

  • Windows:
    amqmdain qmgr start
    Примечание Эта команда позволяет запустить менеджер очередей так, чтобы при выходе из системы и входе в нее он не останавливался. В UNIX аналогичная команда работает, но при выходе из системы запущенный ей менеджер очередей завершается.

    В WebSphere MQ для Windows V5.3 используйте следующую команду:

    amqmdain start host1/qm1
  • UNIX:
    strmqm

    Эта команда генерирует следующий вывод:

    WebSphere MQ queue manager 'host1/qm1' starting.
    5 log records accessed on queue manager 'host1/qm1' during the log replay
    phase.
    Log replay for queue manager 'host1/qm1' complete.
    Transaction manager state recovered for queue manager 'host1/qm1'.
    WebSphere MQ queue manager 'host1/qm1' started.
Примечание Следующий вывод свидетельствует о том, что данный менеджер очередей не является менеджером очередей по умолчанию на этом компьютере:
AMQ8118: WebSphere MQ queue manager does not exist.

Чтобы проверить это либо сделать текущий менеджер очередей менеджером по умолчанию, выполните следующие действия.

  • Применение WebSphere MQ Explorer (в Windows):
    • щелкните правой кнопкой IBM WebSphere MQ в окне навигатора и выберите Properties ;
    • проверьте и при необходимости отредактируйте поле Default queue manager name. В нем должно быть следующее значение:
      host1/qm1
    • щелкните OK.
  • применение файла mqs.ini в UNIX:
    • откройте файл mqs.ini в текстовом редакторе, таком как vi или emacs. Файл mqs.ini находится в каталоге
      /var/mqm/mqs.ini
    • найдите строку
      DefaultQueueManager:
    • если эта строка не существует, добавьте ее в конце файла;
    • затем добавьте следующую строку:
      Name=host1/qm1
Михаил Завалко
Михаил Завалко
Беларусь, Минск
Artem Bardakov
Artem Bardakov
Россия