将属性描述符字段映射到 MQRFH2 头

将属性转换为 MQRFH2 元素时,将使用以下元素属性来指定属性描述符的重要字段: 这描述了如何将 MQPD 字段转换为 MQRFH2 元素属性。

支持

"支持属性描述符" 字段拆分为三个元素属性
  • sr 元素属性指定 MQPD_REJECT_UNSUP_MASK 位掩码中的值。
  • sa 元素属性指定 MQPD_ACCEPT_UNSUP_MASK 位掩码中的值。
  • sx 元素属性指定 MQPD_ACCEPT_UNSUP_IF_XMIT_MASK 位掩码中的值。
这些元素属性只在 <mq> 文件夹中有效,如果在其他包含属性的文件夹中的元素上设置了这些属性,则会被忽略。
表 1. 映射到 MQRFH2 元素属性的 MQPD 字段
支持值 MQRFH2 元素属性 MQRFH2 属性值
mqpd_support_optional sa 可选

这是缺省值。

mqpd_support_required sr 必需
mqpd_support_required_if_local Sx 本地

Context

使用 context 元素属性来指示属性所属的消息上下文。 仅使用一个值。 此元素属性对包含属性的任何文件夹中的属性有效。
表 2. 映射到 MQRFH2 属性值的上下文值
上下文值 MQRFH2 属性值
mqpd_no_context none

这是缺省值。

mqpd_user _context 用户

CopyOptions

使用 copy 元素属性来指示应该将属性复制到其中的消息。 可接受多个值; 请使用逗号分隔多个值。 例如, copy='reply'copy='publish,report' 都有效。 此元素属性对包含属性的任何文件夹中的属性有效。
注: 在属性定义中,单引号或双引号是有效用法,例如 copy='reply'copy="report"
表 3. CopyOption 映射到 MQRFH2 属性值的值
CopyOption 值 MQRFH2 属性值
MQPD_COPY_FOR何承天 转发
mqpd_COPY_reply 回复
mqpd_COPY_report 报告
mqpd_COPY_publish 发布
MQPD_全量复制 全部

请勿将此值与任何其他值一起指定。 与另一个值一起使用时,此值优先于除 none以外的任何值。

mqpd_COPY_default 缺省值

这是缺省值。 它相当于指定了三个值 MQCOPY_FOR_ID , MQCOPY_REPORT 和 MQCOPY_PUBLISH。

请勿将此值与任何其他值一起指定。

MQPD_COPY_NONE none

请勿将此值与任何其他值一起指定。 与另一个值一起使用时,此值优先。

对 <mq> MQRFH2 文件夹的限制

当消息被放入队列时,会搜索 <mq> 文件夹,以便根据 MQ 定义的属性处理消息。 要允许高效解析 MQ定义的属性,以下限制适用于该文件夹:

  • MQ 只处理邮件中第一个重要 <mq> 文件夹中的属性;邮件中任何其他 <mq> 文件夹中的属性都将被忽略。
  • 如果文件夹采用 UTF-8,那么文件夹中只允许使用单字节 UTF-8 字符。 文件夹中的多字节字符可能导致解析失败,并且要拒绝消息。
  • 请勿在 <mq> 文件夹中包含 MQRFH2 组。 属性值中存在 Unicode 字符 U+003C 将导致消息被拒绝。
  • 请勿在文件夹中使用转义字符串。 转义字符串被视为元素的实际值。
  • 仅 Unicode 字符 U+0020 被视为文件夹中的空格。 所有其他字符都被视为重要字符,并可能导致文件夹解析失败以及要拒绝的消息。
如果对 <mq> 文件夹的解析失败,或者该文件夹不符合这些限制,则会通过 CompCode MQCC_FAILED 和原因 MQRC_RFH_RESTRICTED_FORMAT_ERR 拒绝报文。