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

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

9.3.3. Создание локальной очереди

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

Это делается с использованием WebSphere MQ Explorer либо команды MQSC DEFINE, поддерживаемой командой runmqsc. Команда runmqsc служит для отправки команд MQSC менеджеру очередей.

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

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

  1. Раскройте значок менеджера очередей host1/qm1 в навигаторе – откроется папка Queues менеджера.
  2. Щелкните правой кнопкой папку Queues и выберите New\Local Queue – откроется страница "Enter a name" (с значком в виде красного креста) мастера Create Local Queue.
  3. Введите queue1 в поле Name.
  4. Щелкните Next, не щелкая Finish, – откроется страница Change the properties of the new Local Queue, на которой можно задать исходные атрибуты объекта локальной очереди.
  5. Введите в поле Description следующее:
    Redbook example queue1: Newly defined
  6. Щелкните Finish – на некоторое время откроется индикатор хода выполнения, затем окно результатов с сообщением:
    The object was created successfully. (AMQ4148)
Применение команд MQSC

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

  1. Запустите интерактивный сеанс MQSC для менеджера очередей по умолчанию следующей командой:
    runmqsc
  2. После запуска интерактивный сеанс MQSC ожидает ввода, отображая мигающий курсор, и генерирует следующий вывод:
    5724-H72 (C) Copyright IBM Corp. 1994, 2004. ALL RIGHTS RESERVED.
    Starting MQSC for quew host1/qm1.
    Теперь сеанс готов к приему ввода, дополнительное сообщение о запуске сеанса не отображается.
    Примечание Если менеджер очередей не запустился или не назначен менеджером по умолчанию, генерируется следующий вывод и отображается обычное приглашение ОС:
    5724-H72 (C) Copyright IBM Corp. 1994, 2004. ALL RIGHTS RESERVED.
    AMQ8146: WebSphere MQ queue manager not available.
    No MQSC commands read.
    No commands have a syntax error.
    All valid MQSC commands were processed.
  3. Выполните следующую команду, чтобы создать очередь:
    DEFINE QLOCAL('queue1') + DESCR('Redbook example queue1: Newly defined')
    Примечание Для использования символов в нижнем регистре в именах и описаниях важно использовать одинарные кавычки (см. пример выше).

    Заметьте, что символ "+" завершает первую строку и перед ним после скобки стоит пробел. Это позволяет создавать многострочные команды MQSC.

    Команда генерирует следующий вывод:
    AMQ8006: WebSphere MQ queue created.
    Примечание Если предпринять несколько попыток создания очереди, то попытки, следующие за успешным созданием, окончатся неудачей и выводом следующего сообщения:
    AMQ8150: WebSphere MQ object already exists.
    В этом случае добавьте к команде атрибут REPLACE, например так:
    DEFINE QLOCAL('queue1') REPLACE + DESCR('Redbook example queue1:
    Newly defined')
  4. Выйдите из интерактивного сеанса MQSC, выполнив команду
    END
    Вы вернетесь в командную строку ОС, и будет сгенерирован вывод со сводкой команд, выполненных во время сеанса, например:
    END
    2 : END One MQSC command read. No commands have a syntax error. All valid MQSC
    commands were processed.

9.3.4. Отображение атрибутов новой очереди

Атрибут описания ( DESCR ) хранится в определении объекта. Все остальные атрибуты имеют значения по умолчанию. Например, для атрибута, определяющего постоянство сообщений по умолчанию ( DEFPSIST ), задано значение NO (непостоянные). Значение неизменяемого атрибута CURDEPTH, определяющего текущую длину очереди, показывает, что длина новой очереди равна нулю.

Просмотр значения атрибутов возможен с помощью WebSphere MQ Explorer (средствами схемы WebSphere MQ Explorer) либо команды runmqsc, поддерживающей использование символов обощения и значений атрибутов в командах MQSC DISPLAY.

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

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

  1. Выделите папку Queues в менеджере очередей host1/qm1, расположенном в папке Queue Managers навигатора.
  2. В таблице отображается строка с описанием очереди queue1. В столбцах таблицы выводятся значения атрибутов очереди. Прокрутите таблицу вправо для просмотра значений атрибутов Description, Persistence и Current queue depth.
  3. Можно изменять порядок столбцов по умолчанию, а также сохранять настроенный вид таблицы с помощью схем WebSphere MQ. Внизу таблицы отображается следующий текст:
    Scheme: Standard for Queues – Distributed

Это свидетельствует об использовании схемы столбцов по умолчанию, а также о том, что этот менеджер очередей не относитcя к числу менеджеров очередей WebSphere MQ для z/OS. Обычно термин distributed (распределенный) обозначает любые платформы, кроме мейнфреймов.

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

Щелкните Manage Schemes – откроется окно, в котором можно создать собственные или отредактировать существующие схемы для таблиц, отображающих сведения об очередях в WebSphere MQ Explorer.

Например, можно переместить столбцы Description, Persistence и Current queue depth в начало таблицы.

Применение команды MQSC

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

  1. Запустите интерактивный сеанс MQSC для менеджера очередей по умолчанию следующей командой:
    runmqsc
  2. Следующей командой MQSC выведите список объектов локальных очередей:
    DISPLAY QLOCAL(*)
    Вывод этой команды содержит сводку всех локальных очередей; в этом примере отображаются сведения об очереди queue1:
    AMQ8409: Display Queue details. QUEUE(queue1) TYPE(QLOCAL)
  3. Исполните следующую команду MQSC для просмотра всех атрибутов этой очереди:
    DISPLAY QLOCAL('queue1') ALL
    Команда выводит значения множества атрибутов.
    Примечание Для использования символов в нижнем регистре в именах объектов важно использовать одинарные кавычки (см. пример выше). В противном случае вы получите сообщение об ошибке:
    AMQ8147: WebSphere MQ object QUEUE1 not found.
  4. Чтобы просматривать только такие атрибуты, как постоянство по умолчанию, описание и текущая длина очереди, выполните следующую команду MQSC:
    DISPLAY QLOCAL('queue1') DEFPSIST DESCR CURDEPTH
    Эта команда генерирует следующий вывод:
    AMQ8409: Display Queue details. QUEUE(queue1) TYPE(QLOCAL) CURDEPTH(0)
    DEFPSIST(NO) DESCR(Redbook example queue1: Newly defined)
  5. Выполните следующую команду, чтобы выйти из интерактивного сеанса MQSC:
    END
    Примечание Команда MQSC DISPLAY QUEUE позволяет выводить атрибуты любого объекта очереди независимо от его типа. Например, следующая команда отображает все объекты очередей, определенные в менеджере очередей:
    DISPLAY QUEUE(*)

9.3.5. Модификация атрибутов объекта очереди

Ниже рассказано, как изменить атрибуты существующего объекта очереди с помощью WebSphere MQ Explorer и команд MQSC.

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

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

  1. Выделите папку Queues менеджера очередей host1/qm1, расположенную в папке Queue Managers навигатора.
  2. Щелкните правой кнопкой строку queue1 в таблице и выберите команду Properties либо щелкните дважды эту строку – откроется окно свойств объекта локальной очереди.
  3. Введите в поле Description следующий текст:
    Redbook example queue1: Altered description
  4. Щелкните OK – на короткое время откроется окно с индикатором хода операции.
  5. Обратите внимание на изменение атрибута-описания объекта локальной очереди в таблице очередей.
Применение команд MQSC

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

  1. Запустите интерактивный сеанс MQSC для менеджера очередей по умолчанию командой
    runmqsc
  2. Выполните следующую команду MQSC, чтобы изменить атрибут с описанием очереди:
    ALTER QLOCAL('queue1') + DESCR('Redbook example queue1: Altered description')
    Примечание Для использования символов в нижнем регистре в именах объектов важно использовать одинарные кавычки (см. пример выше). В противном случае вы получите сообщение об ошибке:
    AMQ8147: WebSphere MQ object QUEUE1 not found.
  3. Чтобы вывести обновленный атрибут очереди, выполните следующую команду:
    DISPLAY QLOCAL('queue1') DESCR
  4. Выполните следующую команду, чтобы выйти из интерактивного сеанса MQSC:
    END
Михаил Завалко
Михаил Завалко
Беларусь, Минск
Artem Bardakov
Artem Bardakov
Россия