ExitResponse (MQLONG)
此字段指定来自出口的响应。
此字段由出口设置为与 MCA 通信。 它必须是下列其中一个值:
- MQXCC_OK
- 出口已成功完成。
- 对于通道安全出口,此值指示消息传输现在可以正常进行。
- 对于通道消息重试出口,此值指示 MCA 必须等待 MQCXP 中
MsgRetryInterval字段中的出口返回的时间间隔,然后重试该消息。
ExitResponse2字段可能包含其他信息。 - MQXCC_SUPPRESS_FUNCTION
- 抑制函数。
- 对于通道安全出口,此值指示必须终止通道。
- 对于通道消息出口,此值指示消息不再向其目标前进。 相反, MCA 会生成异常报告消息 (如果原始消息的发送方请求了异常报告消息) ,并将原始缓冲区中包含的消息放在死信队列上 (如果发送方指定了 MQRO_DEAD_LETTER_Q) ,或者将其废弃 (如果发送方指定了 MQRO_DISCARD_MSG)。
对于持久消息,如果发送方指定了 MQRO_DEAD_LETTER_Q ,但放入死信队列失败,或者没有死信队列,那么原始消息将保留在传输队列中,并且不会生成报告消息。 如果无法成功生成报告消息,那么原始消息也会保留在传输队列上。
在死信队列上的消息开头的 MQDLH 结构中的
Feedback字段指示将消息放入死信队列的原因; 此反馈代码也在异常报告消息的消息描述符中使用 (如果发送方请求了一个)。 - 对于通道消息重试出口,该值指示 MCA 不等待并重试消息; 相反, MCA 会立即继续其正常故障处理 (消息将放置在死信队列上或废弃,如消息发送方所指定)。
- 对于通道自动定义出口,必须指定 MQXCC_OK 或 MQXCC_SUPPRESS_FUNCTION。 如果未指定这两个值,那么缺省情况下将采用 MQXCC_SUPPRESS_FUNCTION ,并且将放弃自动定义。
通道发送和接收出口不支持此响应。
- MQXCC_SEND_SEC_MSG
- 发送安全消息。
此值只能由通道安全性出口设置。 它指示出口已提供必须传输到合作伙伴的安全消息。
- MQXCC_SEND_AND_REQUEST_SEC_MSG
- 发送需要应答的安全消息。此值只能由通道安全性出口设置。 它指示
- 出口提供了可以传输给合作伙伴的安全消息,并且
- 出口需要来自合作伙伴的响应。 如果未收到响应,那么必须终止通道,因为出口尚未决定是否可以继续通信。
- MQXCC_SUPPRESS_EXIT
- 禁止退出。
- 此值可由除安全出口或自动定义出口以外的所有类型的通道出口设置。 当使用 MQXR_TERM 的
ExitReason再次调用该出口时,它将禁止该出口的任何进一步调用 (就像其名称在通道定义中为空白一样) ,直到通道终止为止。 - 如果消息重试出口返回此值,那么后续消息的消息重试将由
MsgRetryCount和MsgRetryInterval通道属性正常控制。 对于当前消息, MCA 按MsgRetryInterval通道属性给出的时间间隔执行未完成的重试次数,但仅当原因码是 MCA 通常会重试的原因码时 (请参阅 MQCD-Channel 定义 中描述的MsgRetryCount字段)。 未完成重试次数是 MsgRetryCount 属性的值,减去出口针对当前消息返回 MQXCC_OK 的次数; 如果此次数为负数,那么 MCA 不会对当前消息执行进一步的重试。
- 此值可由除安全出口或自动定义出口以外的所有类型的通道出口设置。 当使用 MQXR_TERM 的
- MQXCC_CLOSE_CHANNEL
- 关闭通道。
此值可以由除自动定义出口以外的任何类型的通道出口设置。
如果未启用共享对话,那么此值将关闭通道。
如果启用了共享对话,那么此值将结束对话。 如果此对话是通道上的唯一对话,那么通道也会关闭。
此字段是来自出口的输入/输出字段。