MQSeries 上下文属性
MQSeries 适配器提供了一组特定于 MQSeries 的上下文属性以供您在应用程序中使用。 您可以在筛选表达式和业务流程中使用这些属性。
对于以绑定到 MQSeries 适配器的发送端口为目标的消息,若要将 MQSeries 上下文属性分配给此类消息,请使用消息赋值运算符,并在 MQSeries 命名空间中指定可用的上下文属性之一。
下面是设置 MQSeries MQMD_UserIdentifier 属性的示例:
Message_2(MQSeries.MQMD_UserIdentifier) = "MeMyselfAndI";
必须从 IBM MQSeries SDK 所附带的 C 编程语言头文件中获得枚举值。 在 Program Files\IBM\WebSphere MQ\Tools\c\include 文件夹中可找到这些文件。 这些文件定义了在设置或读取 MQSeries 上下文属性值时要使用的值。
十六进制字符串值是表示二进制值的字符串。 这些值不具有诸如 0x 之类的前缀。 它们包含从 0 到 9 的数字,以及从“a”到“f”或“A”到“F”的字母。 适配器将忽略它们之间的空格。
有关这些属性的详细信息,请参阅 IBM WebSphere MQ 文档。
下表显示了可用的消息描述符(MQMD 结构)属性的完整集以及其对应的类型和值:
名称 | 类型 | Length | 值 |
---|---|---|---|
MQMD_AccountingToken | 字符串 | 64 | 十六进制字符串 |
MQMD_ApplIdentityData | 字符串 | 32 | 十六进制字符串 |
MQMD_ApplOriginData | 字符串 | 4 | 字符串 默认值: 空格 |
MQMD_BackoutCount | unsigned int | 4 | Number 只读 默认值: 0 |
MQMD_CodedCharSetId | unsigned int | 4 | Number 默认值: 0 |
MQMD_CorrelId | 字符串 | 48 | 十六进制字符串 |
MQMD_Encoding | unsigned int | 4 | Number 使用头文件值。 默认值: 0 |
MQMD_Expiry | unsigned int | 4 | Number |
MQMD_Feedback | unsigned int | 4 | Number 使用头文件值。 默认值: 0 |
MQMD_Format | 字符串 | 8 | 字符串 如果此属性设置为 MQXMIT,则应确保 MQXQH 属性具有相应值。 |
MQMD_GroupID | 字符串 | 48 | 十六进制字符串 |
MQMD_MsgFlags | unsigned int | 4 | Number 使用头文件值。 默认值: 0 |
MQMD_MsgId | 字符串 | 48 | 十六进制字符串 |
MQMD_MsgSeqNumber | unsigned int | 4 | |
MQMD_MsgType | unsigned int | 4 | Number 使用头文件值。 |
MQMD_Offset | unsigned int | 4 | |
MQMD_OriginalLength | unsigned int | 4 | |
MQMD_Persistence | unsigned int | 4 | Number 使用头文件值。 |
MQMD_Priority | unsigned int | 4 | Number |
MQMD_PutApplName | 字符串 | 28 | 字符串 默认值: 空格 |
MQMD_PutApplType | unsigned int | 4 | Number 使用头文件值。 默认值: 0 |
MQMD_PutDate | 字符串 | 8 | 日期 |
MQMD_PutTime | 字符串 | 8 | 时间 |
MQMD_ReplyToQ | 字符串 | 48 | 字符串 默认值: 空格 |
MQMD_ReplyToQMgr | 字符串 | 48 | 字符串 默认值: 空格 |
MQMD_Report | unsigned int | 4 | Number 使用头文件值。 |
MQMD_UserIdentifier | 字符串 | 12 | 字符串 包含使用 SSOAffiliateApplication 属性时的用户标识符。 |
在直接从 MQSeries 传输队列中接收消息时,MQSeries 适配器将设置该传输队列标头属性(MQXQH 数据结构)的格式,并将其放置在其对应的上下文属性中。 将消息直接发送到 MQSeries 传输队列时,仅当 MQMD_Format 属性的值为 MQXMIT 时,标头属性才会格式化并从相应的上下文属性分配值。 下表描述了这些属性。
名称 | 类型 | Length | 值 |
---|---|---|---|
MQXQH_RemoteQMgrName | 字符串 | 48 | 字符串 |
MQXQH_RemoteQName | 字符串 | 48 | 字符串 |
与本主题前面部分列出的属性一样,该适配器将按照相同的规则填充以下消息描述符值。 该适配器使用 MQXQH_ 而不是 MQMD_ 作为这些属性名的前缀,否则这些属性将直接映射到在消息描述符表中定义的那些属性:
MQXQH_MsgDesc_AccountingToken
MQXQH_MsgDesc_ApplIdentityData
MQXQH_MsgDesc_ApplOriginData
MQXQH_MsgDesc_BackoutCount
MQXQH_MsgDesc_CodedCharSetId
MQXQH_MsgDesc_CorrelId
MQXQH_MsgDesc_Encoding
MQXQH_MsgDesc_Expiry
MQXQH_MsgDesc_Feedback
MQXQH_MsgDesc_Format
MQXQH_MsgDesc_MsgId
MQXQH_MsgDesc_MsgType
MQXQH_MsgDesc_Persistence
MQXQH_MsgDesc_Priority
MQXQH_MsgDesc_PutApplName
MQXQH_MsgDesc_PutApplType
MQXQH_MsgDesc_PutDate
MQXQH_MsgDesc_PutTime
MQXQH_MsgDesc_ReplyToQ
MQXQH_MsgDesc_ReplyToQMgr
MQXQH_MsgDesc_Report
MQXQH_MsgDesc_UserIdentifier
属性架构中还包含与 MQSeries 相关的其他属性,这些属性可在筛选表达式中使用。 下表列出了这些属性:
名称 | 类型 | Length | 值 |
---|---|---|---|
MQCIH_AbendCode | 字符串 | 4 | |
MQCIH_ADSDescriptor | unsigned int | 4 | |
MQCIH_AttentionId | 字符串 | 4 | |
MQCIH_Authenticator | 字符串 | 8 | 使用 SSOAffiliateApplication 属性时,将 设置为 SSO 密码。 注意: 如果 SSO 密码长度超过 8 个字符,MQSeries 适配器会将此值设置为空白。 |
MQCIH_CancelCode | 字符串 | 4 | |
MQCIH_CompCode | unsigned int | 4 | |
MQCIH_ConversationalTask | unsigned int | 4 | |
MQCIH_CursorPosition | unsigned int | 4 | |
MQCIH_ErrorOffset | unsigned int | 4 | |
MQCIH_Facility | 字符串 | 16 | 十六进制字符串 |
MQCIH_FacilityKeepTime | unsigned int | 4 | |
MQCIH_FacilityLike | 字符串 | 4 | |
MQCIH_Flags | unsigned int | 4 | |
MQCIH_Format | 字符串 | ||
MQCIH_Function | 字符串 | 4 | |
MQCIH_GetWaitInterval | unsigned int | 4 | |
MQCIH_LinkType | unsigned int | 4 | |
MQCIH_NextTransactionId | 字符串 | 4 | |
MQCIH_OutputDataLength | unsigned int | 4 | |
MQCIH_Reason | unsigned int | 4 | |
MQCIH_ReplyToFormat | 字符串 | ||
MQCIH_ReturnCode | unsigned int | 4 | |
MQCIH_StartCode | 字符串 | 4 | |
MQCIH_TaskEndStatus | unsigned int | 4 | |
MQCIH_TransactionId | 字符串 | 4 | |
MQCIH_UOWControl | unsigned int | 4 | |
MQIIH_Authenticator | 字符串 | 8 | 使用 SSOAffiliateApplication 属性时,将 设置为 SSO 密码。 注意: 如果 SSO 密码长度超过 8 个字符,MQSeries 适配器会将此值设置为空白。 |
MQIIH_CommitMode | 字符串 | ||
MQIIH_Flags | unsigned int | 4 | |
MQIIH_Format | 字符串 | ||
MQIIH_LTermOverride | 字符串 | 8 | |
MQIIH_MFSMapName | 字符串 | 8 | |
MQIIH_ReplyToFormat | 字符串 | ||
MQIIH_SecurityScope | 字符串 | ||
MQIIH_TranInstanceId | 字符串 | 32 | 十六进制字符串 |
MQIIH_TranState | 字符串 |