A user exit is user-provided custom software,
written in C, to track data passing through message flows.
User-provided functions can be invoked at specific points during the life-cycle
of a message as it passes through the message flow, and can invoke utility
functions to query information about the point in the flow, and the contents
of the message assembly.
The user exits can be invoked when one or more of the following events
occurs:
- End of unit-of-work (UOW) or transaction (COMMIT or ROLLBACK)
- A message passing between two nodes
- A message dequeued from the input source
In the basic message flow shown above, you can track messages at two levels:
- Transaction level
- Node level
At the transaction level, you can track the following events:
- Messages being read into the flow
- Completion of the transaction
At the node level, you can track the following events:
- A message passing from one node to another
- Completion of processing for one node
Therefore, you can track four different types of events, which
occur in the following sequence:
- Message dequeued from the input source (read into the flow)
- Message propagated to the node for processing
- Node processing completed
- End of the transaction