How queue managers process exit functions
The processing performed by the queue manager on return from an exit function depends on both ExitResponse and ExitResponse2. Table 1 below summarizes the possible combinations and their effects for an MQXR_BEFORE exit function, showing:
- Who sets the CompCode and Reason parameters of the API call
- Whether the remaining exit functions in the MQXR_BEFORE chain and the matching exit functions in the MQXR_AFTER chain are invoked
- Whether the API call is invoked
For an MQXR_AFTER exit function:
- CompCode and Reason are set in the same way as MQXR_BEFORE
- ExitResponse2 is ignored (the remaining exit functions in the MQXR_AFTER chain are always invoked)
- MQXCC_SUPPRESS_FUNCTION and MQXCC_SKIP_FUNCTION are not valid
For an MQXR_CONNECTION exit function:
- CompCode and Reason are set in the same way as MQXR_BEFORE
- ExitResponse2 is ignored
- MQXCC_SUPPRESS_FUNCTION, MQXCC_SKIP_FUNCTION, MQXCC_SUPPRESS_EXIT are not valid
In all cases, where an exit or the queue manager sets CompCode and Reason, the values set can be changed by an exit invoked later, or by the API call (if the API call is invoked later).
MQXR_BEFORE exit processing Value of ExitResponse CompCode and Reason set by Value of ExitResponse2 (default continuation) Chain Value of ExitResponse2 (default continuation) API MQXCC_OK exit Y Y MQXCC_SUPPRESS_EXIT exit Y Y MQXCC_SUPPRESS_FUNCTION queue manager N N MQXCC_SKIP FUNCTION exit N N MQXCC_FAILED queue manager N N
Parent topic:
WebSphere MQ API exit parameter structure (MQAXP)
fg14610_