|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.context.event.AbstractApplicationEventMulticaster org.springframework.context.event.SimpleApplicationEventMulticaster
public class SimpleApplicationEventMulticaster
Simple implementation of the ApplicationEventMulticaster
interface.
Multicasts all events to all registered listeners, leaving it up to
the listeners to ignore events that they are not interested in.
Listeners will usually perform corresponding instanceof
checks on the passed-in event object.
By default, all listeners are invoked in the calling thread. This allows the danger of a rogue listener blocking the entire application, but adds minimal overhead. Specify an alternative TaskExecutor to have listeners executed in different threads, for example from a thread pool.
setTaskExecutor(java.util.concurrent.Executor)
Field Summary | |
---|---|
private java.util.concurrent.Executor |
taskExecutor
|
Constructor Summary | |
---|---|
SimpleApplicationEventMulticaster()
Create a new SimpleApplicationEventMulticaster. |
|
SimpleApplicationEventMulticaster(BeanFactory beanFactory)
Create a new SimpleApplicationEventMulticaster for the given BeanFactory. |
Method Summary | |
---|---|
protected java.util.concurrent.Executor |
getTaskExecutor()
Return the current TaskExecutor for this multicaster. |
void |
multicastEvent(ApplicationEvent event)
Multicast the given application event to appropriate listeners. |
void |
setTaskExecutor(java.util.concurrent.Executor taskExecutor)
Set the TaskExecutor to execute application listeners with. |
Methods inherited from class org.springframework.context.event.AbstractApplicationEventMulticaster |
---|
addApplicationListener, addApplicationListenerBean, getApplicationListeners, getApplicationListeners, removeAllListeners, removeApplicationListener, removeApplicationListenerBean, setBeanFactory, supportsEvent |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private java.util.concurrent.Executor taskExecutor
Constructor Detail |
---|
public SimpleApplicationEventMulticaster()
public SimpleApplicationEventMulticaster(BeanFactory beanFactory)
Method Detail |
---|
public void setTaskExecutor(java.util.concurrent.Executor taskExecutor)
Default is a SyncTaskExecutor, executing the listeners synchronously in the calling thread.
Consider specifying an asynchronous TaskExecutor here to not block the caller until all listeners have been executed. However, note that asynchronous execution will not participate in the caller's thread context (class loader, transaction association) unless the TaskExecutor explicitly supports this.
SyncTaskExecutor
,
SimpleAsyncTaskExecutor
protected java.util.concurrent.Executor getTaskExecutor()
public void multicastEvent(ApplicationEvent event)
ApplicationEventMulticaster
event
- the event to multicast
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |