Опции сообщений Get MQ

Опции сообщений Get MQ управляют работой MQGET.

Можно указать произвольное число значений, описанных в этом разделе. Несколько значений можно указать одним из следующих способов:
  • Добавить (одну и ту же константу не требуется добавлять несколько раз)
  • Объединить с помощью оператора OR (если язык программирования поддерживает логические операторы).

Начальное значение поля Опции - MQGMO_NO_WAIT и MQGMO_PROPERTIES_AS_Q_DEF.

Опции свойств

Следующие опции относятся к свойствам сообщения:
MQGMO_PROPERTIES_AS_Q_DEF

Свойства сообщения, за исключением свойств из дескриптора (или расширения) сообщения, должны быть представлены в соответствии со значением свойства очереди PropertyControl. Если указан MsgHandle, то этот параметр игнорируется и свойства сообщения загружаются из MsgHandle (если для свойства очереди PropertyControl не указано значение MQPROP_FORCE_MQRFH2).

Это действие по умолчанию, если не указаны другие опции свойств.

MQGMO_PROPERTIES_IN_HANDLE

Свойства сообщения должны быть доступны с помощью MsgHandle. Если описатель сообщения отсутствует, то вызов завершается с кодом ошибки MQRC_HMSG_ERROR.

MQGMO_NO_PROPERTIES

Загружаются все свойства сообщения, за исключением свойств из дескриптора (или расширения) сообщения. Если указано значение свойства MsgHandle, то оно игнорируется.

MQGMO_PROPERTIES_FORCE_MQRFH2

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

MQGMO_PROPERTIES_COMPATIBILITY
Если сообщение содержит свойство с префиксом "mcd.", "jms.", "usr." или "mqext.", то все свойства сообщения доставляются приложению в заголовке MQRFH2. В противном случае все свойства сообщения, за исключением свойств из дескриптора (или расширения) сообщения, аннулируются и становятся недоступными для приложения.

Опция по умолчанию

Если описанные выше опции не требуются, то можно использовать следующую опцию:
MQGMO_NONE
Позволяет указать, что другие опции не указаны; для всех опций применяются значения по умолчанию. MQGMO_NONE помогает описанию программы; эту опцию не следует применять совместно с другими, однако если для нее указано нулевое значение, то такое использование нельзя обнаружить.