Start of change

Business events support for multiple unordered dispatch queues (APAR PJ46905)

Business events support for multiple unordered dispatch queues provides the capability for you to define multiple unordered dispatch queues that use multiple ECBs for dispatch processing.

Previously, the system default dispatch queue (IBEV.UNORDERED.DISPATCH.QUEUE) was the only unordered dispatch queue. If you have different events that are created at a high rate, you might configure those events so that multiple events use the system default dispatch queue. As a result, you might have different events that use different transmission methods or go to different destinations, but all events share the same dispatch queue. Multiple dispatch ECBs could process events simultaneously on this dispatch queue so that the events could be processed at a high rate. However, if a dispatch ECB encountered an error or timeout while transmitting an event, processing of other unrelated events on the dispatch queue would be delayed.

With this support, you can define multiple unordered dispatch queues, and assign business events to separate unordered dispatch queues based on destinations, service level agreements, volumes, or any other criteria. By separating events among different unordered dispatch queues, issues with events on one dispatch queue will not affect processing of events on other dispatch queues. For example, you can separate business events among different dispatch queues based on event destinations. When a particular destination encounters network issues, all the dispatch ECBs for that unordered dispatch queue wait for the transmission requests to time out. However, this separation prevents events only on that specific dispatch queue from being processed. Those waiting dispatch ECBs do not affect the processing of events on other dispatch queues.

To designate a dispatch queue to be unordered, define the dispatch queue with prefix IBEV.UNORDERED.. You can then uniquely set the maximum number of ECBs that can be used for each unordered dispatch queue by entering the ZBEVF SET command. To display dispatch queue information, enter the ZBEVF DISPLAY command.

In addition, enhanced dispatch ECB processing can automatically throttle the number of dispatch ECBs under certain conditions. This enhancement reduces the impact of those conditions on the system's ECB usage until the system or transmission services recover. When system resources are low or transmission errors occur, dispatch ECBs exit until at most 2 dispatch ECBs remain active for the affected dispatch queue. If system resources are low, the remaining 2 dispatch ECBs are suspended and automatically resume processing when sufficient system resources are available. If transmission errors occur, the remaining dispatch ECBs delay processing the next event so that the destination has time to recover from communication issues. When sufficient system resources become available and events are transmitted successfully, business event processing automatically creates as many additional dispatch ECBs as needed based on the defined maximum value for each dispatch queue.

For more information about APAR PJ46905, see the APEDIT.

End of change