Class EventPublicationInterceptor

  extended byorg.springframework.context.event.EventPublicationInterceptor
All Implemented Interfaces:
Advice, ApplicationEventPublisherAware, InitializingBean, Interceptor, MethodInterceptor

public class EventPublicationInterceptor
extends Object
implements MethodInterceptor, ApplicationEventPublisherAware, InitializingBean

Interceptor that knows how to publish ApplicationEvents to all ApplicationListeners registered with an ApplicationEventPublisher (typically an ApplicationContext).

Note that this interceptor is only capable of publishing stateless events configured statically via the "applicationEventClass" property.

Dmitriy Kopylenko, Juergen Hoeller
See Also:
setApplicationEventClass(java.lang.Class), ApplicationEvent, ApplicationListener, ApplicationEventPublisher, ApplicationContext

Constructor Summary
Method Summary
 void afterPropertiesSet()
          Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
 Object invoke(MethodInvocation invocation)
 void setApplicationEventClass(Class applicationEventClass)
          Set the application event class to publish.
 void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
          Set the ApplicationEventPublisher that this object runs in.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public EventPublicationInterceptor()
Method Detail


public void setApplicationEventClass(Class applicationEventClass)
Set the application event class to publish.

The event class must have a constructor with a single Object argument for the event source. The interceptor will pass in the invoked object.


public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
Description copied from interface: ApplicationEventPublisherAware
Set 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:
setApplicationEventPublisher in interface ApplicationEventPublisherAware
applicationEventPublisher - event publisher to be used by this object


public void afterPropertiesSet()
                        throws Exception
Description copied from interface: InitializingBean
Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

Specified by:
afterPropertiesSet in interface InitializingBean
Exception - in the event of misconfiguration (such as failure to set an essential property) or if initialization fails.


public Object invoke(MethodInvocation invocation)
              throws Throwable
Specified by:
invoke in interface MethodInterceptor

Copyright (C) 2003-2004 The Spring Framework Project.