org.apache.hadoop.yarn.event

## Class AsyncDispatcher

- java.lang.Object
- - org.apache.hadoop.service.AbstractService
  - - org.apache.hadoop.yarn.event.AsyncDispatcher

- All Implemented Interfaces:
    Closeable, AutoCloseable, org.apache.hadoop.service.Service, Dispatcher

      @InterfaceAudience.Public
       @InterfaceStability.Evolving
      public class AsyncDispatcher
      extends org.apache.hadoop.service.AbstractService
      implements Dispatcher

  Dispatches `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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.hadoop.service.Service

      `org.apache.hadoop.service.Service.STATE`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<Class<? extends Enum>,EventHandler>` | `eventDispatchers`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AsyncDispatcher()`
    `AsyncDispatcher(BlockingQueue<Event> eventQueue)`
    `AsyncDispatcher(String dispatcherName)` Set a name for this dispatcher thread.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `disableExitOnDispatchException()`
    `protected void` | `dispatch(Event event)`
    `EventHandler<Event>` | `getEventHandler()`
    `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()`

    - ### Methods inherited from class org.apache.hadoop.service.AbstractService

      `close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### eventDispatchers

          protected final Map<Class<? extends Enum>,EventHandler> eventDispatchers

  - ### Constructor Detail

    - #### AsyncDispatcher

          public AsyncDispatcher()

    - #### AsyncDispatcher

          public AsyncDispatcher(BlockingQueue<Event> eventQueue)

    - #### AsyncDispatcher

          public AsyncDispatcher(String dispatcherName)

      Set a name for this dispatcher thread.
      Parameters:
        `dispatcherName` - name of the dispatcher thread

  - ### Method Detail

    - #### disableExitOnDispatchException

          public void disableExitOnDispatchException()

    - #### serviceInit

          protected void serviceInit(org.apache.hadoop.conf.Configuration conf)
                              throws Exception

      Overrides:
        `serviceInit` in class `org.apache.hadoop.service.AbstractService`
      Throws:
        `Exception`

    - #### serviceStart

          protected void serviceStart()
                               throws Exception

      Overrides:
        `serviceStart` in class `org.apache.hadoop.service.AbstractService`
      Throws:
        `Exception`

    - #### setDrainEventsOnStop

          public void setDrainEventsOnStop()

    - #### serviceStop

          protected void serviceStop()
                              throws Exception

      Overrides:
        `serviceStop` in class `org.apache.hadoop.service.AbstractService`
      Throws:
        `Exception`

    - #### dispatch

          protected void dispatch(Event event)

    - #### register

          public void register(Class<? extends Enum> eventType,
                               EventHandler handler)

      Specified by:
        `register` in interface `Dispatcher`

    - #### getEventHandler

          public EventHandler<Event> getEventHandler()

      Specified by:
        `getEventHandler` in interface `Dispatcher`

    - #### isEventThreadWaiting

          protected boolean isEventThreadWaiting()

    - #### isDrained

          protected boolean isDrained()

    - #### isStopped

          protected boolean isStopped()

Copyright © 2008–2022 Apache Software Foundation. All rights reserved.