Try OpenEdge Now
skip to main content
BP Server Developer's Guide
Working with Monitoring process : Multiple events in a single message : Processing of messages with multiple events
 

Processing of messages with multiple events

BP Server separates the ObjectMessages and MapMessages received by the JMS event gateway as single event message or multiple event message based on the property BULK_MESSAGE. If it is a multiple event message, then BP Server processes every event one after another in a sequential order. Once individual events are extracted from the multiple event message, BP Server processes the message like a single event message. All the validations associated with a single event are applicable to all the events in the multiple event message also.
BP Server processes a multiple event message as follows.
1. Check whether the bulk message format is valid or not.
*If the bulk message format is invalid, move the message to the BIZEVENT_EXTERNAL_INVALID table.
*If the bulk message format is valid, extract individual events from the bulk message, and process one event at a time, one after the other in a sequential order.
2. Check whether the event is valid or not.
*If the event is invalid, add it to the BIZEVENT_EXTERNAL_INVALID table.
*If the event is valid, the JMS message gateway processes it. If the JMS message gateway cannot process it, it stores that event in the BIZEVENT_EXTERNAL table.
3. After all the valid events of a message are processes, if you have configured BP Server to save them in the history table, BP Server marks them as processes, and after a predefined period, moves them to history table in bulk.
Note: By default, BP Server does not store processes external events in the history table. To persist the processed events in the BIZEVENT_EXTERNAL_HISTORY table, set the smp.enable.extevent.history parameter in the smp.properties file to 'true'.