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'.