@InterfaceAudience.Public @InterfaceStability.Evolving public class AsyncDispatcher extends org.apache.hadoop.service.AbstractService implements Dispatcher
Event
s in a separate thread. Currently only single thread
does that. Potentially there could be multiple channels for each event type
class and a thread pool can be used to dispatch the events.Modifier and Type | Field and Description |
---|---|
protected Map<Class<? extends Enum>,EventHandler> |
eventDispatchers |
Constructor and Description |
---|
AsyncDispatcher() |
AsyncDispatcher(BlockingQueue<Event> eventQueue) |
AsyncDispatcher(String dispatcherName)
Set a name for this dispatcher thread.
|
Modifier and Type | Method and Description |
---|---|
void |
addMetrics(EventTypeMetrics metrics,
Class<? extends Enum> eventClass) |
void |
disableExitOnDispatchException() |
protected void |
dispatch(Event event) |
EventHandler<Event> |
getEventHandler() |
int |
getEventQueueSize() |
protected boolean |
isDrained() |
protected boolean |
isEventThreadWaiting() |
protected boolean |
isStopped() |
void |
register(Class<? extends Enum> eventType,
EventHandler handler) |
protected void |
serviceInit(org.apache.hadoop.conf.Configuration conf) |
protected void |
serviceStart() |
protected void |
serviceStop() |
void |
setDrainEventsOnStop() |
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop
protected final Map<Class<? extends Enum>,EventHandler> eventDispatchers
public AsyncDispatcher()
public AsyncDispatcher(BlockingQueue<Event> eventQueue)
public AsyncDispatcher(String dispatcherName)
dispatcherName
- name of the dispatcher thread@VisibleForTesting public void disableExitOnDispatchException()
protected void serviceInit(org.apache.hadoop.conf.Configuration conf) throws Exception
serviceInit
in class org.apache.hadoop.service.AbstractService
Exception
protected void serviceStart() throws Exception
serviceStart
in class org.apache.hadoop.service.AbstractService
Exception
public void setDrainEventsOnStop()
protected void serviceStop() throws Exception
serviceStop
in class org.apache.hadoop.service.AbstractService
Exception
protected void dispatch(Event event)
public void register(Class<? extends Enum> eventType, EventHandler handler)
register
in interface Dispatcher
public EventHandler<Event> getEventHandler()
getEventHandler
in interface Dispatcher
@VisibleForTesting protected boolean isEventThreadWaiting()
protected boolean isDrained()
protected boolean isStopped()
public void addMetrics(EventTypeMetrics metrics, Class<? extends Enum> eventClass)
public int getEventQueueSize()
Copyright © 2008–2024 Apache Software Foundation. All rights reserved.