Options for EventBus that are tolerant to Exceptions in Event processing

The documentation mentions that the SimpleEventBus will stop event processing if an exception is encountered in any of the event listeners and rightly so, as the publish logic is simply for a for loop that pushes subscribed events to event listeners…To avoid termination of event listener, the use of the ClusteringEventBus was recommended…

But the ClusteringEventBus appears to be a little too much for my current use case…clustering event listeners, working with task executers, introducing concurrency etc

Is there a way to easily assemble a middle ground? Where the setup is as simple as what the SimpleEventBus provides but tolerant to exceptions in event listeners? Without having to go the Clustering event bus route?

…well, apart from providing a custom implementation.

The middle ground is the ClusteringEventBus, but then without the task executors, introducting concurrency, etc. :wink:
If you use the SimpleTerminal (default), you’ll have the simplicity of the SimpleEventBus, with the power of EventListener Clusters. Then, combine the event listeners for which you want different behavior into a cluster that doesn’t propagate any exceptions to the publishing threads. That will block processing of an event inside the cluster, but not in between clusters.

Does that help?

Cheers,

Allard