MQ 获取消息选项

MQ 获取消息选项用于控制 MQGET 的操作。

您可以不指定本节中随后描述的选项,也可以指定其中一个或多个选项。如果您需要多个选项,那么这些值可以是:
  • 相加(不要多次将相同常量相加),或者
  • 使用按位 OR 运算来组合(如果编程语言支持位运算)。

Options 字段的初始值是 MQGMO_NO_WAIT + MQGMO_PROPERTIES_AS_Q_DEF。

属性选项

下列选项与消息的属性相关:
MQGMO_PROPERTIES_AS_Q_DEF

除消息描述符(或扩展)中包含的消息属性之外的消息属性必须按 PropertyControl 队列属性定义的方式表示。如果 MsgHandle 已提供,那么除非 PropertyControl 队列属性的值为 MQPROP_FORCE_MQRFH2,否则将忽略此选项,并且将使用 MsgHandle 提供消息属性。

如果未指定属性选项,那么这是缺省操作。

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 帮助编写文档;此选项并不旨在与其他任何选项配合使用,但由于其值为零,将无法检测到这种用法。

参考 参考

反馈

时间戳记图标 最近一次更新时间: Wednesday, 14 February 2018
http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.explorer.doc/com.ibm.mq.explorer.doc/e_properties_gmo.htm