Интеграция приложений на основе WebSphere MQ


3 - часть 2


Hconn и Hobj – это идентификаторы, полученные от MQCONN и MQOPEN, соответственно.

Описание сообщения MQMD – это ссылка на структуру объекта из библиотеки WebSphere MQ. Эта структура записывается следующим образом (табл.8.3).

Таблица 8.3. Структура объекта MQMD

Имя поля MQMDТип поляИмя константыЗначение по умолчанию
StrucIdMQCHAR4MQMD_STRUC_ID'MDbb'
VersionMQLONGMQMD_VERSION_11
ReportMQLONGMQRO_NONE0
MsgTypeMQLONGMQMT_DATAGRAM8
ExpiryMQLONGMQEI_UNLIMITEDMQEI_UNLIMITED
FeedbackMQLONGMQFB_NONE0
EncodingMQLONGMQENC_NATIVEВ зависимости от среды
CodedCharSetIdMQLONGMQCCSI_Q_MGR0
FormatMQCHAR8MQFMT_NONEПробел
PriorityMQLONGMQPRI_PRIORITY_AS_Q_DEF-1
PersistenceMQLONGMQPER_PERSISTENCE_AS_Q_DEF2
MsgIdMQBYTE24MQMI_NONENulls
CorrelIdMQBYTE24MQCI_NONENulls
BackoutCountMQLONGНет0
ReplyToQMQCHAR48НетСтрока со значением Null или пробел
ReplyToQMgrMQCHAR48НетСтрока со значением Null или пробел
UserIdentifierMQCHAR12НетСтрока со значением Null или пробел
AccountingTokenMQBYTE32MQACT_NONENulls
ApplIdentityDataMQBYTE32НетСтрока со значением Null или пробел
PutApplTypeMQLONGMQAT_NO_CONTEXT0
PutApplNameMQCHAR28НетСтрока со значением Null или пробел
PutDateMQCHAR8НетСтрока со значением Null или пробел
PutTimeMQCHAR8НетСтрока со значением Null или пробел
ApplOriginDataMQCHAR4НетСтрока со значением Null или пробел
GroupIdMQBYTE24MQGI_NONENulls
MsgSeqNumberMQLONGНет1
OffsetMQLONGНет0
MsgFlagsMQLONGMQMF_NONE0
OriginalLengthMQLONGMQOL_UNDEFINED-1

Как видно из табл.8.3 из имени поля MQMD можно извлечь всевозможные атрибуты заголовка сообщений.

GetMsgOpts – опции для функции MQGET - MQGMO (Get-message options), поля структуры которой приведены в таблице 8.4. Наиболее часто используемые опции для управления MQGET:

  • MQGMO_WAIT - определяет время ожидания функцией поступления новых сообщений в зависимости от значения в WaitInterval, заданногов мсек. MQGMO_NO_WAIT немедленно возвращает управление, если нет больше сообщений в очереди.
  • MQGMO_BROWSE_FIRST - определяет, что читается первое сообщение в очереди.
  • MQGMO_BROWSE_NEXT - определяет, что читается сообщение из текущей позиции.
  • MQGMO_BROWSE_MSG_UNDER_CURSOR - определяет, что читается сообщение под курсором.
  • MQGMO_LOGICAL_ORDER - определяет, что сообщения читаются в логическом порядке. Если опция опущена, то сообщения читаются в физическом порядке.
  • MQGMO_FAIL_IF_QUIESCING - выдает ошибку, если менеджер не доступен.
  • MQGMO_SYNCPOINT (MQGMO_NO_SYNCPOINT) - означает установку (отмену установки) контрольной точки (syncpoint control) на данном сообщении.
  • MQGMO_ACCEPT_TRUNCATED_MSG - указывает, что допускается отсечение данных сообщения, например, если DataLength для реального сообщения больше BufferLength.




Начало  Назад  Вперед



Книжный магазин