Change MQCD fields in a channel exit
A channel exit can change fields in the MQCD. However, these changes are not typically acted on, except in the circumstances listed.
If a channel exit program changes a field in the MQCD data structure, the new value is typically ignored by the IBM MQ channel process. However, the new value remains in the MQCD and is passed to any remaining exits in an exit chain and to any conversation sharing the channel instance.
If SharingConversations is set to FALSE in the MQCXP structure, changes to certain fields can be acted on, depending on the type of exit program, the type of channel, and the exit reason code. The following table shows the fields that can be changed and affect the behavior of the channel, and in what circumstances. If an exit program changes one of these fields in any other circumstances, or any field not listed, the new value is ignored by the channel process. The new value remains in the MQCD and is passed to any remaining exits in an exit chain and to any conversation sharing the channel instance.
Any type of exit program when called for initialization (MQXR_INIT) can change the ChannelName field of any type of channel, as long as MQCXP SharingConverstions is set to FALSE. Only a security exit can change the MCAUserIdentifier field, regardless of the value of MQCXP SharingConverstions.
Field | Exit reason code | Exit type | Channel type |
---|---|---|---|
ChannelName | MQXR_INIT | All | All |
TransportType | MQXR_INIT | All | All |
XmitQName | MQXR_INIT | All | SDR, RCVR |
ModeName | MQXR_INIT | All | All |
TpName | MQXR_INIT | All | All |
BatchSize | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
DiscInterval | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
ShortRetryCount | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
ShortRetryInterval | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
LongRetryCount | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
LongRetryInterval | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
SeqNumberWrap | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
MaxMsgLength | MQXR_INIT | All | All |
PutAuthority | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
DataConversion | MQXR_INIT | All | All |
MCAUserIdentifier | MQXR_INIT, MQXR_INIT_SEC, MQXR_SEC_MSG, MQXR_SEC_PARMS | Security | RCVR, RQSTR, SVRCONN, CLUSRCVR |
ConnectionName | MQXR_INIT | All | SDR, SVR, RQSTR, CLNTCONN, CLUSSDR, CLUSRCVR |
MsgRetryUserData | MQXR_INIT | All | RCVR, RQSTR, CLUSRCVR |
MsgRetryCount | MQXR_INIT | All | RCVR, RQSTR, CLUSRCVR |
MsgRetryInterval | MQXR_INIT | All | RCVR, RQSTR, CLUSRCVR |
HeartbeatInterval | MQXR_INIT | All | All |
BatchInterval | MQXR_INIT | All | SDR, SVR, CLUSSDR, CLUSRCVR |
NonPersistentMsgSpeed | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
MCASecurityId | MQXR_INIT, MQXR_INIT_SEC, MQXR_SEC_MSG, MQXR_SEC_PARMS | Security | SDR, SVR, RCVR, RQSTR, SVRCONN, CLUSSDR, CLUSRCVR |
SSLCipherSpec | MQXR_INIT | All | All |
SSLPeerNamePtr | MQXR_INIT | All | All |
SSLPeerNameLength | MQXR_INIT | All | All |
SSLClientAuth | MQXR_INIT | All | SVR, RCVR, RQSTR, SVRCONN, CLUSRCVR |
KeepAliveInterval | MQXR_INIT | All | All |
LocalAddress | MQXR_INIT | All | SDR, SVR, RQSTR, CLNTCONN, CLUSSDR, CLUSRCVR |
BatchHeartbeat | MQXR_INIT | All | SDR, SVR, CLUSSDR, CLUSRCVR |
HdrCompList | MQXR_INIT | All | All |
MsgCompList | MQXR_INIT | All | All |
ChannelMonitoring | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, SVRCONN, CLUSSDR, CLUSRCVR |
ChannelStatistics | MQXR_INIT | All | SDR, SVR, RCVR, RQSTR, CLUSSDR, CLUSRCVR |
SharingConversations | MQXR_INIT | All | SVRCONN, CLNTCONN |
PropertyControl | MQXR_INIT | All | SDR, SVR, CLUSSDR, CLUSRCVR |