IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Developing monitor models > Debugging monitor models > Stepping through a running monitor model

Event flow

Events are sent to the debugger either directly (through the debugger's Representational State Transfer (REST) Services interface) or through the Common Event Infrastructure (CEI). If you use the Debug Monitor Model option to start the debugger and the Integrated Test Client, the events are sent directly, through the REST interface.

If you use any other way of sending events, the events are sent through CEI, just as they would be with a monitor model in a production environment.

The following diagram shows how events flow through the debugger:

event flow from an event producer to either a REST interface or CEI to the input queue and then to the debugger." />

On the Target Server tab of the Integrated Test Client, you can see how the events are being sent. If Send directly to debugger is selected, events are sent directly (through the debugger's Representational State Transfer (REST) Services interface). You can select Send to CEI subscribers, including debugger to send events through the Common Event Infrastructure (CEI), just as they would be with a monitor model in a production environment.

Events that are sent through the REST interface are transferred directly to the debugger's input queue. Events that are sent through CEI must pass through an event selector (also called a pre-filter) that was generated for the monitor model being debugged. They reach the debugger's input queue only if they pass the event selector.

If processing the event results in an error, the failed event is sent to the retry queue or the error queue, depending on the monitor model. Events that fail correlation when the model specified "Retry" for this case will go to the retry queue, and all other events that cause errors will go to the error queue. (You can move events from the retry queue to the input queue by selecting an event and clicking Retry Event

in the Event Queues view.)

Any outbound events that the debugger produces are submitted to CEI. (The debugger acts just like any other event source.) Each event is processed by any CEI event subscriber whose event selector lets it pass, including the debugger itself if a subscription for the event was defined in the monitor model that is being debugged. If the debugger's event selector lets the event pass, it will show up in the input queue.

When you send an outbound event, therefore, you might (or might not) see it added to the bottom of the input queue in the Event Queues view, depending on whether it passed the event selector. To see whether an outbound event was blocked by the event selector, you can look at the event selector in the WebSphere Application Server administrative console. Select Service Integration > Common Event Infrastructure > Event service > Event services > Default Common Event Infrastructure event server > Event groups. The event selector is shown in the Event Selector String column for the wbm_IBM_INPUT_EventGroup event group.

You can also use the Common Base Event browser to confirm that an event was sent.

Stepping through a running monitor model