Order of Execution for the Event Listener API

When an event occurs, idmgr evaluates every event listener referenced in the Management Console for the environment where the event occurred, checking whether any event listeners are mapped to the event. idmgr invokes all event listeners mapped to the event.
cim1265
When an event occurs,
evaluates every event listener referenced in the Management Console for the environment where the event occurred, checking whether any event listeners are mapped to the event.
invokes all event listeners mapped to the event.
evaluates and invokes event listeners according to the following rules:
  • Event listeners are evaluated in the order of their level of specificity, from most specific to most general. That is, event listeners mapped to specific events are evaluated first, then event listeners mapped to class events, and finally event listeners mapped to all events.
  • Event listeners within a given level of specificity are evaluated in the order of their position on the Event Listeners screen of the Management Console, with the topmost event listener being evaluated first.
  • If an event listener is mapped to the current event,
    invokes the event listener at the current event state.
  • If an event listener completes its execution for a given state and returns CONTINUE,
    continues as follows:
    • By invoking the next listener for the same event state.
    • After all listeners have been processed for the current event state,
      advances the event to the next sequential state, and evaluates the next listener according to the rules listed previously.
  • If an event listener returns BREAK, no more event listeners are processed for the current event state.
    advances the event to the next sequential state, and evaluates the next listener according to the previous rules.
The CONTINUE and BREAK return codes cause
to advance the event to the next sequential state. The event listener cannot specify a particular event state to enter. To move an event to an Approved or Rejected state during workflow processing, use the WorkflowContext object in the Workflow API.
If an event listener adapter throws an exception,
does not complete the execution of the event.