public class AsyncEventHandler extends Object implements IEventHandler
Asynchronous event handler implementation.
This implementation keeps one queue per listener to avoid slowing down dispatching
events to other listeners in case one listener has a higher processing time.
It also ensures that events are delivered to each listener in the order they
were received.
Constructor and Description |
---|
AsyncEventHandler(ExecutorService threadPool) |
Modifier and Type | Method and Description |
---|---|
void |
clearAllListeners()
Clear all listeners.
|
int |
getNumListeners() |
void |
publishEvent(Event<?> e)
Dispatch event to all registered listeners
|
void |
registerListener(IEventListener listener)
Registers a listener with this event producer.
|
void |
unregisterListener(IEventListener listener)
Unregisters a listener from this event producer.
|
public AsyncEventHandler(ExecutorService threadPool)
public void publishEvent(Event<?> e)
IEventHandler
publishEvent
in interface IEventHandler
e
- event to dispatchpublic void registerListener(IEventListener listener)
IEventProducer
registerListener
in interface IEventProducer
public void unregisterListener(IEventListener listener)
IEventProducer
unregisterListener
in interface IEventProducer
public int getNumListeners()
getNumListeners
in interface IEventHandler
public void clearAllListeners()
IEventHandler
clearAllListeners
in interface IEventHandler
Copyright © 2016 Sensia Software LLC. All rights reserved.