com.google.common.eventbus

## Class AsyncEventBus

- java.lang.Object
- - com.google.common.eventbus.EventBus
  - - com.google.common.eventbus.AsyncEventBus

-     @Beta
      public class AsyncEventBus
      extends EventBus

  An `EventBus` that takes the Executor of your choice and uses it to dispatch events, allowing dispatch to occur asynchronously.
  Since:
    10.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AsyncEventBus(java.util.concurrent.Executor executor)` Creates a new AsyncEventBus that will use `executor` to dispatch events.
    `AsyncEventBus(java.util.concurrent.Executor executor, SubscriberExceptionHandler subscriberExceptionHandler)` Creates a new AsyncEventBus that will use `executor` to dispatch events.
    `AsyncEventBus(java.lang.String identifier, java.util.concurrent.Executor executor)` Creates a new AsyncEventBus that will use `executor` to dispatch events.

  - ### Method Summary

    - ### Methods inherited from class com.google.common.eventbus.EventBus

      `identifier, post, register, toString, unregister`

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

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

- - ### Constructor Detail

    - #### AsyncEventBus

          public AsyncEventBus(java.lang.String identifier,
                       java.util.concurrent.Executor executor)

      Creates a new AsyncEventBus that will use `executor` to dispatch events. Assigns `identifier` as the bus's name for logging purposes.
      Parameters:
        `identifier` - short name for the bus, for logging purposes.
        `executor` - Executor to use to dispatch events. It is the caller's responsibility to shut down the executor after the last event has been posted to this event bus.

    - #### AsyncEventBus

          public AsyncEventBus(java.util.concurrent.Executor executor,
                       SubscriberExceptionHandler subscriberExceptionHandler)

      Creates a new AsyncEventBus that will use `executor` to dispatch events.
      Parameters:
        `executor` - Executor to use to dispatch events. It is the caller's responsibility to shut down the executor after the last event has been posted to this event bus.
        `subscriberExceptionHandler` - Handler used to handle exceptions thrown from subscribers. See `SubscriberExceptionHandler` for more information.
      Since:
        16.0

    - #### AsyncEventBus

          public AsyncEventBus(java.util.concurrent.Executor executor)

      Creates a new AsyncEventBus that will use `executor` to dispatch events.
      Parameters:
        `executor` - Executor to use to dispatch events. It is the caller's responsibility to shut down the executor after the last event has been posted to this event bus.