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

Краткий справочник

< Дополнительный материал 1 || Дополнительный материал 2: 1234

Объекты очередей

Объекты очередей представляют очереди в составе менеджера очередей и управляют маршрутизацией сообщений в очереди, обслуживаемые другими менеджерами очередей в инфраструктуре WebSphere MQ.

Типы объектов очередей

Существуют следующие типы объектов очередей.

  • Local queue ( QLOCAL или QL ) – локальная очередь, единственный объект, представляющий очередь в составе менеджера очередей, способную хранить сообщения. Может быть назначена транспортной очередью (transmission queue) для временного хранения сообщений, предназначенных для передачи другим менеджерам очередей в инфраструктуре WebSphere MQ. Сообщения, предназначенные для отправки удаленному менеджеру очередей, попадают в одноименные транспортные очереди.
  • Alias queue ( QALIAS or QA ) – объект псевдонима очереди, ссылающийся на объект очереди с другим именем (объект локальной, удаленной или кластерной очереди).
  • Model queue ( QMODEL or QM ) – объект модельной очереди, позволяющий приложениям динамически создавать локальные очереди и идентифицировать себя в инфраструктуре WebSphere MQ. Атрибуты объекта модельной очереди определяют атрибуты очередей, динамически создаваемых на его основе.
  • Remote queue ( QREMOTE or QR ) – объект удаленной очереди, позволяющий явно задавать и управлять маршрутами между менеджерами очередей; применяются в следующих целях (в зависимости от атрибутов):
    • псевдоним менеджера очередей – задает маршрут к удаленному менеджеру очередей, имя которого не совпадает с именем транспортной очереди, также предоставляет возможность обращаться к локальным менеджерам очередей под другими именами;
    • локальное определение удаленной очереди – явно определяет маршрут через транспортную очередь к очереди с заданным именем в удаленном менеджере очередей;
    • псевдоним очереди ответов – заставляет менеджер очередей во время отправки сообщения заменять значения полей reply-to в его дескрипторе данными из описания этого псевдонима.

Команды MQSC для управления объектами очередей

Следующие команды поддерживаются всеми объектами очередей. Вместо QLOCAL и QL следует подставить нужный тип объекта очереди (см. выше).

  • DEFINE QLOCAL(NAME) или DEF QL(NAME) – создает объект очереди.
  • ALTER QLOCAL(NAME) или ALT QL(NAME) – изменяет существующий объект очереди.
  • DELETE QLOCAL(NAME) или DELETE QL(NAME) – удаляет существующий объект очереди.
  • DISPLAY QLOCAL(GENERIC_NAME) или DIS QL(GENERIC_NAME) – выводит атрибуты существующих объектов очередей.

Следующая команда применяется для вывода атрибутов любых определенных локально объектов очередей:

DISPLAY QUEUE(GENERIC_NAME) или DIS Q(GENERIC_NAME)

Следующая команда MQSC выводит состояние очереди (только для локальных очередей):

DISPLAY QSTATUS(GENERIC_NAME) или DIS QS(GENERIC_NAME)

Общие атрибуты объектов очередей

Следующие атрибуты поддерживают все типы объектов очередей.

  • Put ( PUT ) – определяет, можно ли добавлять сообщения в локальную очередь либо отправлять через нее сообщения. Установка этого атрибута в значение DISABLED для очереди в составе кластера отключает маршрутизацию сообщений к этой очереди.
  • Default persistence ( DEFPSIST ) – указывает, что сообщения, отравленные командой MQPUT через эту очередь (открытую командой MQOPEN ), по умолчанию являются постоянными.

Атрибуты очередей, управляющие балансировкой нагрузки в кластере

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

Примечание Публикация объекта очереди в кластере позволяет менеджерам очередей вовлекать его в балансировку нагрузки по обработке сообщений, адресованных очереди с соответствующим именем.
  • Cluster ( CLUSTER ) – имя кластера, в котором опубликован этот объект очереди.
  • Cluster namelist ( CLUSNL ) – имя объекта списка имен, содержащего имена кластеров, в которых опубликован этот объект очереди.
  • Default bind type ( DEFBIND ) – тип привязки по умолчанию, используемый при открытии этой очереди. Если задано значение bind on open ( OPEN ), то данная очередь будет принимать сообщения, адресованные ей с использованием одно и того же описателя объекта (полученного от одного вызова MQOPEN), которые будут доставляться одному и тому же менеджеру очередей кластера. Если же указано значение bind not fixed ( NOTFIXED ), балансировка нагрузки будет осуществляться независимо для каждого сообщения.
  • Cluster workload rank ( CLWLRANK ) – чем выше значение этого атрибута у экземпляра очереди в составе кластера, тем больше шансов на ее использование при балансировке нагрузки, даже если обслуживающий ее менеджер очередей недоступен.
  • Cluster workload priority ( CLWLPRTY ) – чем выше значение этого атрибута у экземпляра очереди в составе кластера, тем больше шансов на ее использование при балансировке нагрузки, если обслуживающий ее менеджер очередей доступен.
  • Cluster workload use queue ( CLWLUSEQ ) – указывает, следует ли вовлекать в балансировку нагрузки удаленные экземпляры кластерных очередей, если существует одноименная локальная очередь в данном менеджере очередей (только для локальных очередей, созданных вручную).

Атрибуты локальных очередей (включая динамические)

Следующие атрибуты поддерживаются локальными очередями ( QLOCAL ), в том числе модельными очередями ( QMODEL ), у которых они управляют параметрами динамически создаваемых очередей.

  • Definition type ( DEFTYPE ) – указывает, создана ли очередь вручную ( PREDEFINED ) или динамически, на основе объекта модельной очереди. Динамические очереди бывают постоянными ( PERMDYN ) и временными ( TEMPDYN ), последние не могут содержать постоянные сообщения, поскольку автоматически удаляются после отключения приложения или завершения менеджера очередей.
  • Get ( GET ) – указывает, можно ли открыть объект этой локальной очереди для извлечения или просмотра сообщений, также применим к объектам псевдонимов локальных очередей.
  • Usage ( USAGE ) – если указано значение "transmission" ( XMITQ ), эта локальная очередь будет использоваться в качестве транспортной очереди для маршрутизации сообщений удаленным менеджерам очередей (для этого также требуется канал, обрабатывающий сообщения в транспортной очереди).

Для запуска приложений по прибытии сообщений в очередь используются триггеры. В Windows и UNIX для транспортной очереди можно настроить триггер, автоматически запускающий канал при поступлении сообщений, предназначенных для пересылки. Этот процесс называется инициацией канала (channel initiation). Следующие атрибуты настраивают триггеры для очереди.

  • Trigger control ( TRIGGER ) – указывает, включен ли триггеринг для этой очереди (это необходимо для инициации каналов).
  • Trigger type ( TRIGTYPE ) – тип активного триггеринга очереди (для инициации каналов требуется триггер типа FIRST ).
  • Trigger depth ( TRIGDPTH ) – пороговое число сообщений, по достижении которого триггер типа DEPTH генерирует событие.
  • Trigger data ( TRIGDATA ) – пользовательские данные, которые добавляются к триггерному сообщению (в случае инициации канала они включают имя запускаемого канала).
  • Initiation queue ( INITQ ) – очередь, в которой генерируются сообщения при срабатывании триггера (в случае инициации каналов это SYSTEM.CHANNEL.INITQ ).

Атрибуты объектов псевдонима очереди

Объекты псевдонима очереди ( QALIAS ) поддерживают следующие атрибуты.

  • Target queue ( TARGQ ) – целевая или базовая очередь. Имя очереди, на которую ссылается псевдоним.

Атрибуты локальных определений удаленных очередей

При создании локальных определений удаленных очередей используются следующие атрибуты объектов удаленных очередей ( QREMOTE ).

  • Remote name ( RNAME ) – имя удаленной очереди.
  • Remote queue manager name ( RQMNAME ) – имя удаленного менеджера очередей, обслуживающего эту очередь.
  • Transmission queue ( XMITQ ) – имя транспортной очереди, через которую сообщения передаются этому удаленному менеджеру очередей (можно не указывать, если оно совпадает с именем удаленного менеджера очередей).

Атрибуты псевдонимов менеджеров очередей

При создании псевдонимов менеджеров очередей используются следующие определения объектов удаленных очередей ( QREMOTE ).

  • Remote name ( RNAME ) – не указывают.
  • Remote queue manager name ( RQMNAME ) – имя менеджера очередей, на который ссылается псевдоним.
  • Transmission queue ( XMITQ ) – имя транспортной очереди, через которую сообщения передаются этому удаленному менеджеру очередей (можно не указывать, если оно совпадает с именем удаленного менеджера очередей, либо псевдоним ссылается на локальную очередь).

Атрибуты псевдонима очереди ответов

При создании псевдонима очереди ответов используются следующие определения объектов удаленных очередей ( QREMOTE ).

  • Remote name ( RNAME ) – имя очереди, которое заносится в поле reply-to queue.
  • Remote queue manager name ( RQMNAME ) – имя менеджера очередей, которое заносится в поле reply-to queue manager.
  • Transmission queue ( XMITQ ) – не указывают.

Записи кластерных очередей

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

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

Команды MQSC для управления записями кластерных очередей

Для управления кластерными очередями применяют следующие команды MQSC.

  • DISPLAY QCLUSTER( GENERIC_NAME ) или DIS QC( GENERIC_NAME ) – выводит атрибуты записей кластерных очередей известных менеджеру очередей.

Атрибуты записей кластерных очередей

Записи кластерных очередей поддерживают следующие атрибуты:

  • Cluster ( CLUSTER ) – кластер, в котором опубликован объект очереди.
  • Cluster queue manager ( CLUSQMGR ) – имя менеджера очередей в составе кластера, где опубликован этот объект очереди.
  • Queue manager identifier ( QMID ) – уникальный идентификатор менеджера очередей в составе кластера, где опубликован этот объект очереди.
  • Cluster queue type ( CLUSQT ) – тип объекта кластерной очереди.
< Дополнительный материал 1 || Дополнительный материал 2: 1234
Михаил Завалко
Михаил Завалко
Беларусь, Минск
Artem Bardakov
Artem Bardakov
Россия