Class EventListenerMethodProcessor
java.lang.Object
org.springframework.context.event.EventListenerMethodProcessor
- All Implemented Interfaces:
Aware
,BeanFactoryPostProcessor
,SmartInitializingSingleton
,ApplicationContextAware
public class EventListenerMethodProcessor
extends Object
implements SmartInitializingSingleton, ApplicationContextAware, BeanFactoryPostProcessor
Registers
EventListener
methods as individual ApplicationListener
instances.
Implements BeanFactoryPostProcessor
(as of 5.1) primarily for early retrieval,
avoiding AOP checks for this processor bean and its EventListenerFactory
delegates.- Since:
- 4.2
- Author:
- Stephane Nicoll, Juergen Hoeller, Sebastien Deleuze
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Invoked right at the end of the singleton pre-instantiation phase, with a guarantee that all regular singleton beans have been created already.void
postProcessBeanFactory
(ConfigurableListableBeanFactory beanFactory) Modify the application context's internal bean factory after its standard initialization.void
setApplicationContext
(ApplicationContext applicationContext) Set the ApplicationContext that this object runs in.
-
Field Details
-
logger
-
-
Constructor Details
-
EventListenerMethodProcessor
public EventListenerMethodProcessor()
-
-
Method Details
-
setApplicationContext
Description copied from interface:ApplicationContextAware
Set the ApplicationContext that this object runs in. Normally this call will be used to initialize the object.Invoked after population of normal bean properties but before an init callback such as
InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked afterResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
,ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
andMessageSourceAware
, if applicable.- Specified by:
setApplicationContext
in interfaceApplicationContextAware
- Parameters:
applicationContext
- the ApplicationContext object to be used by this object- See Also:
-
postProcessBeanFactory
Description copied from interface:BeanFactoryPostProcessor
Modify the application context's internal bean factory after its standard initialization. All bean definitions will have been loaded, but no beans will have been instantiated yet. This allows for overriding or adding properties even to eager-initializing beans.- Specified by:
postProcessBeanFactory
in interfaceBeanFactoryPostProcessor
- Parameters:
beanFactory
- the bean factory used by the application context
-
afterSingletonsInstantiated
public void afterSingletonsInstantiated()Description copied from interface:SmartInitializingSingleton
Invoked right at the end of the singleton pre-instantiation phase, with a guarantee that all regular singleton beans have been created already.ListableBeanFactory.getBeansOfType(java.lang.Class<T>)
calls within this method won't trigger accidental side effects during bootstrap.NOTE: This callback won't be triggered for singleton beans lazily initialized on demand after
BeanFactory
bootstrap, and not for any other bean scope either. Carefully use it for beans with the intended bootstrap semantics only.- Specified by:
afterSingletonsInstantiated
in interfaceSmartInitializingSingleton
-