Class PersistentApplicationEventMulticaster
java.lang.Object
org.springframework.context.event.AbstractApplicationEventMulticaster
org.springframework.modulith.events.support.PersistentApplicationEventMulticaster
- All Implemented Interfaces:
Aware,BeanClassLoaderAware,BeanFactoryAware,SmartInitializingSingleton,ApplicationEventMulticaster
public class PersistentApplicationEventMulticaster
extends AbstractApplicationEventMulticaster
implements SmartInitializingSingleton
An
ApplicationEventMulticaster to register EventPublications in an EventPublicationRegistry
so that potentially failing transactional event listeners can get re-invoked upon application restart or via a
schedule.
Republication is handled in afterSingletonsInstantiated() inspecting the EventPublicationRegistry
for incomplete publications and
- Author:
- Oliver Drotbohm
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classFirst-class collection to work with transactional event listeners, i.e. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionPersistentApplicationEventMulticaster(Supplier<EventPublicationRegistry> registry, Supplier<Environment> environment) Creates a newPersistentApplicationEventMulticasterfor the givenEventPublicationRegistry. -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected Collection<ApplicationListener<?>>getApplicationListeners(ApplicationEvent event, ResolvableType eventType) voidmulticastEvent(ApplicationEvent event) voidmulticastEvent(ApplicationEvent event, ResolvableType eventType) Methods inherited from class org.springframework.context.event.AbstractApplicationEventMulticaster
addApplicationListener, addApplicationListenerBean, getApplicationListeners, removeAllListeners, removeApplicationListener, removeApplicationListenerBean, removeApplicationListenerBeans, removeApplicationListeners, setBeanClassLoader, setBeanFactory, supportsEvent, supportsEvent
-
Field Details
-
REPUBLISH_ON_RESTART
- See Also:
-
-
Constructor Details
-
PersistentApplicationEventMulticaster
public PersistentApplicationEventMulticaster(Supplier<EventPublicationRegistry> registry, Supplier<Environment> environment) Creates a newPersistentApplicationEventMulticasterfor the givenEventPublicationRegistry.- Parameters:
registry- must not be null.environment- must not be null.
-
-
Method Details
-
multicastEvent
- Specified by:
multicastEventin interfaceApplicationEventMulticaster
-
multicastEvent
- Specified by:
multicastEventin interfaceApplicationEventMulticaster
-
getApplicationListeners
protected Collection<ApplicationListener<?>> getApplicationListeners(ApplicationEvent event, ResolvableType eventType) - Overrides:
getApplicationListenersin classAbstractApplicationEventMulticaster
-
afterSingletonsInstantiated
public void afterSingletonsInstantiated()- Specified by:
afterSingletonsInstantiatedin interfaceSmartInitializingSingleton
-