Events have become a key element of modern application design especially when it comes to distributed applications. But also in monolithic applications they can be used to improve modularity as Spring’s ApplicationEvent abstraction and the associated infrastructure components make it easy to design, publish and consume events.
The talks starts by giving an overview about the building blocks of Spring’s core event infrastructure. It continues with an example of how to decouple Spring components using events, discusses different ways of implementing a variety of interaction scenarios and how Spring Data allows to take a more domain-driven approach to event publication. We end up by discussing advanced event handling scenarios and failure handling.