Class EventPublicationInterceptor
java.lang.Object
org.springframework.context.event.EventPublicationInterceptor
- All Implemented Interfaces:
- Advice,- Interceptor,- MethodInterceptor,- Aware,- InitializingBean,- ApplicationEventPublisherAware
public class EventPublicationInterceptor
extends Object
implements MethodInterceptor, ApplicationEventPublisherAware, InitializingBean
Interceptor that publishes an
 ApplicationEvent to all ApplicationListeners
 registered with an ApplicationEventPublisher after each
 successful method invocation.
 Note that this interceptor is only capable of publishing stateless
 events configured via the
 "applicationEventClass" property.
- Author:
- Dmitriy Kopylenko, Juergen Hoeller, Rick Evans
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.invoke(MethodInvocation invocation) Implement this method to perform extra treatments before and after the invocation.voidsetApplicationEventClass(Class<?> applicationEventClass) Set the application event class to publish.voidsetApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) Set the ApplicationEventPublisher that this object runs in.
- 
Constructor Details- 
EventPublicationInterceptorpublic EventPublicationInterceptor()
 
- 
- 
Method Details- 
setApplicationEventClassSet the application event class to publish.The event class must have a constructor with a single Objectargument for the event source. The interceptor will pass in the invoked object.- Throws:
- IllegalArgumentException- if the supplied- Classis- nullor if it is not an- ApplicationEventsubclass or if it does not expose a constructor that takes a single- Objectargument
 
- 
setApplicationEventPublisherDescription copied from interface:ApplicationEventPublisherAwareSet the ApplicationEventPublisher that this object runs in.Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked before ApplicationContextAware's setApplicationContext. - Specified by:
- setApplicationEventPublisherin interface- ApplicationEventPublisherAware
- Parameters:
- applicationEventPublisher- event publisher to be used by this object
 
- 
afterPropertiesSetDescription copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set. - Specified by:
- afterPropertiesSetin interface- InitializingBean
- Throws:
- Exception- in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason
 
- 
invokeDescription copied from interface:MethodInterceptorImplement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invokeJoinpoint.proceed().- Specified by:
- invokein interface- MethodInterceptor
- Parameters:
- invocation- the method invocation joinpoint
- Returns:
- the result of the call to Joinpoint.proceed(); might be intercepted by the interceptor
- Throws:
- Throwable- if the interceptors or the target object throws an exception
 
 
-