|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.context.event.ApplicationEventMulticasterImpl
Concrete implementation of ApplicationEventMulticaster Doesn't permit multiple instances of the same listener.
Note that this class doesn't try to do anything clever to ensure thread safety if listeners are added or removed at runtime. A technique such as Copy-on-Write (Lea:137) could be used to ensure this, but the assumption in this version of this framework is that listeners will be added at application configuration time and not added or removed as the application runs.
All listeners are invoked in the calling thread. This allows the danger of a rogue listener blocking the entire application, but adds minimal overhead.
An alternative implementation could be more sophisticated in both these respects.
Constructor Summary | |
ApplicationEventMulticasterImpl()
|
Method Summary | |
void |
addApplicationListener(ApplicationListener l)
Add a listener to be notified of all events |
void |
onApplicationEvent(ApplicationEvent e)
Handle an application event |
void |
removeAllListeners()
Remove all listeners registered with this multicaster. |
void |
removeApplicationListener(ApplicationListener l)
Remove a listener in the notification list] |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ApplicationEventMulticasterImpl()
Method Detail |
public void addApplicationListener(ApplicationListener l)
ApplicationEventMulticaster
addApplicationListener
in interface ApplicationEventMulticaster
l
- listener to addpublic void removeApplicationListener(ApplicationListener l)
ApplicationEventMulticaster
removeApplicationListener
in interface ApplicationEventMulticaster
l
- listener to removepublic void onApplicationEvent(ApplicationEvent e)
ApplicationListener
onApplicationEvent
in interface ApplicationListener
e
- event to respond topublic void removeAllListeners()
ApplicationEventMulticaster
removeAllListeners
in interface ApplicationEventMulticaster
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |