SubCorrelId (MQBYTE24)
此字段包含与此预订匹配的所有发布的公共相关标识。
注意: 只能在发布/预订集群中的队列管理器 (而不是层次结构) 之间传递相关标识。
为与此预订匹配而发送的所有发布在消息描述符中包含此相关标识。 如果多个预订从同一队列获取其发布内容,那么使用 MQGET (按相关标识) 仅允许获取特定预订的发布内容。 此相关标识可以由队列管理器或用户生成。
如果未指定选项 MQSO_SET_CORREL_ID ,那么队列管理器将生成相关标识,并且此字段是包含将在为此预订发布的每条消息中设置的相关标识的输出字段。 生成的相关标识由 4 字节的产品标识 (ASCII 或 EBCDIC 中的 AMQX 或 CSQM) 组成,后跟唯一字符串的特定于产品的实现。
如果指定了选项 MQSO_SET_CORREL_ID ,那么用户将生成相关标识,并且此字段是一个输入字段,其中包含要在此预订的每个发布中设置的相关标识。 在这种情况下,如果该字段包含 MQCI_NONE ,那么在为此预订发布的每条消息中设置的相关标识是由消息的原始放置创建的相关标识。
如果指定了 MQSO_GROUP_SUB 选项,并且指定的相关标识与正在使用同一队列和重叠主题字符串的现有分组预订相同,那么将仅随该发布内容的副本一起提供该组中最重要的预订。
此字段的长度由 MQ_CORREL_ID_LENGTH 给出。 此字段的初始值为 MQCI_NONE。
如果要使用 MQSO_ALTER 选项来变更现有预订,并且此字段是输入字段,那么可以更改预订相关标识,除非该预订是分组预订 (即,已使用选项 MQSO_GROUP_SUB 创建) ,在这种情况下,无法更改预订相关标识。
使用 MQSO_RESUME 从 MQSUB 调用返回时,此字段将设置为预订的当前相关标识。