Обмен сообщениями с использованием WebSphere MQ: практическое введение
9.3.3. Создание локальной очереди
В этом разделе рассказывается, как определить новый объект локальной очереди в менеджере очередей. Объект локальной очереди представляет очередь, обслуживаемую менеджером очередей, в которую можно добавлять сообщения, а также получать сообщения из нее.
Это делается с использованием WebSphere MQ Explorer либо команды MQSC DEFINE, поддерживаемой командой runmqsc. Команда runmqsc служит для отправки команд MQSC менеджеру очередей.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Раскройте значок менеджера очередей host1/qm1 в навигаторе – откроется папка Queues менеджера.
- Щелкните правой кнопкой папку Queues и выберите New\Local Queue – откроется страница "Enter a name" (с значком в виде красного креста) мастера Create Local Queue.
- Введите queue1 в поле Name.
- Щелкните Next, не щелкая Finish, – откроется страница Change the properties of the new Local Queue, на которой можно задать исходные атрибуты объекта локальной очереди.
- Введите в поле Description следующее:
Redbook example queue1: Newly defined
- Щелкните Finish – на некоторое время откроется индикатор хода выполнения, затем окно результатов с сообщением:
The object was created successfully. (AMQ4148)
Применение команд MQSC
Выполните следующие действия.
- Запустите интерактивный сеанс MQSC для менеджера очередей по умолчанию следующей командой:
runmqsc
- После запуска интерактивный сеанс 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.
- Выполните следующую команду, чтобы создать очередь:
DEFINE QLOCAL('queue1') + DESCR('Redbook example queue1: Newly defined')
Примечание Для использования символов в нижнем регистре в именах и описаниях важно использовать одинарные кавычки (см. пример выше).Команда генерирует следующий вывод:Заметьте, что символ "+" завершает первую строку и перед ним после скобки стоит пробел. Это позволяет создавать многострочные команды MQSC.
AMQ8006: WebSphere MQ queue created.
Примечание Если предпринять несколько попыток создания очереди, то попытки, следующие за успешным созданием, окончатся неудачей и выводом следующего сообщения:В этом случае добавьте к команде атрибут REPLACE, например так:AMQ8150: WebSphere MQ object already exists.
DEFINE QLOCAL('queue1') REPLACE + DESCR('Redbook example queue1: Newly defined')
- Выйдите из интерактивного сеанса 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
Выполните следующие действия.
- Выделите папку Queues в менеджере очередей host1/qm1, расположенном в папке Queue Managers навигатора.
- В таблице отображается строка с описанием очереди queue1. В столбцах таблицы выводятся значения атрибутов очереди. Прокрутите таблицу вправо для просмотра значений атрибутов Description, Persistence и Current queue depth.
- Можно изменять порядок столбцов по умолчанию, а также сохранять настроенный вид таблицы с помощью схем WebSphere MQ. Внизу таблицы отображается следующий текст:
Scheme: Standard for Queues – Distributed
Это свидетельствует об использовании схемы столбцов по умолчанию, а также о том, что этот менеджер очередей не относитcя к числу менеджеров очередей WebSphere MQ для z/OS. Обычно термин distributed (распределенный) обозначает любые платформы, кроме мейнфреймов.
Справа от текста находится стрелка. Щелкните ее – откроется меню со списком готовых схем, которые можно применить к таблице, а также команд для редактирования схем и управления ими.
Щелкните Manage Schemes – откроется окно, в котором можно создать собственные или отредактировать существующие схемы для таблиц, отображающих сведения об очередях в WebSphere MQ Explorer.
Например, можно переместить столбцы Description, Persistence и Current queue depth в начало таблицы.
Применение команды MQSC
Выполните следующие действия.
- Запустите интерактивный сеанс MQSC для менеджера очередей по умолчанию следующей командой:
runmqsc
- Следующей командой MQSC выведите список объектов локальных очередей:Вывод этой команды содержит сводку всех локальных очередей; в этом примере отображаются сведения об очереди queue1:
DISPLAY QLOCAL(*)
AMQ8409: Display Queue details. QUEUE(queue1) TYPE(QLOCAL)
- Исполните следующую команду MQSC для просмотра всех атрибутов этой очереди:Команда выводит значения множества атрибутов.
DISPLAY QLOCAL('queue1') ALL
Примечание Для использования символов в нижнем регистре в именах объектов важно использовать одинарные кавычки (см. пример выше). В противном случае вы получите сообщение об ошибке:AMQ8147: WebSphere MQ object QUEUE1 not found.
- Чтобы просматривать только такие атрибуты, как постоянство по умолчанию, описание и текущая длина очереди, выполните следующую команду 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)
- Выполните следующую команду, чтобы выйти из интерактивного сеанса MQSC:
END
9.3.5. Модификация атрибутов объекта очереди
Ниже рассказано, как изменить атрибуты существующего объекта очереди с помощью WebSphere MQ Explorer и команд MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Выделите папку Queues менеджера очередей host1/qm1, расположенную в папке Queue Managers навигатора.
- Щелкните правой кнопкой строку queue1 в таблице и выберите команду Properties либо щелкните дважды эту строку – откроется окно свойств объекта локальной очереди.
- Введите в поле Description следующий текст:
Redbook example queue1: Altered description
- Щелкните OK – на короткое время откроется окно с индикатором хода операции.
- Обратите внимание на изменение атрибута-описания объекта локальной очереди в таблице очередей.
Применение команд MQSC
Выполните следующие действия.
- Запустите интерактивный сеанс MQSC для менеджера очередей по умолчанию командой
runmqsc
- Выполните следующую команду MQSC, чтобы изменить атрибут с описанием очереди:
ALTER QLOCAL('queue1') + DESCR('Redbook example queue1: Altered description')
Примечание Для использования символов в нижнем регистре в именах объектов важно использовать одинарные кавычки (см. пример выше). В противном случае вы получите сообщение об ошибке:AMQ8147: WebSphere MQ object QUEUE1 not found.
- Чтобы вывести обновленный атрибут очереди, выполните следующую команду:
DISPLAY QLOCAL('queue1') DESCR
- Выполните следующую команду, чтобы выйти из интерактивного сеанса MQSC:
END