Capturing IBM BPM events for external consumption
IBM® Business Process Manager emits events that are typically monitored by Business Monitor. If you are not using Business Monitor but still need to collect events, perhaps for auditing reasons, you can configure the Dynamic Event Framework (DEF) and subscribe to events that you want to receive.
About this task
Using a DEF to JMS event listener, you can receive DEF events that are emitted from BPMN and BPEL
applications. To use the event listener, you must:
- Create a target JMS queue to receive events.
- Configure the DEF to JMS event listener.
- Provide a custom event collector to read the events from the target JMS.
IBM Business Process Manager includes two sample scripts that
you can use to configure the DEF to receive events. These scripts are in
install_root/BPM/Lombardi/tools/def.
Script | Purpose |
---|---|
SampleConfigureEventsToJMS.py | Defines the queue connection factory, queue, event subscriptions, and authentication alias to use |
SampleReloadDEF.py | Causes the DEF to refresh its configuration dynamically |
Configuration for BPEL applications
BPEL applications can emit DEF events only if the Common Event Infrastructure logging is enabled
for the Business Flow Manager and the Human Task Container.
- Log in to the WebSphere® Application Server administrative console.
- Click .
- Make sure that Enable Common Event Infrastructure logging is selected.
- Click .
- Make sure that Enable Common Event Infrastructure logging is selected.
- If you made some updates, save the configuration and restart the cluster.
Procedure
What to do next
You can examine the events on the queue in the administrative console.
- Click IBM BPM deployment environment bus. and click the
- Click Destinations and find your destination queue. Click Queue points. Click the Runtime tab. Under General Properties, you can set the Current message depth. Under Additional Properties, click Messages to see the messages.
Tip: The default value for the High message threshold is
50,000, but you should change it to a higher value that you are comfortable with. Provide an
implementation to drain events off the queue. For example, you might use a message-driven bean (MDB)
that reads from the event queue and writes the XML to a file or an external database.