org.springframework.messaging.support

## Class ExecutorSubscribableChannel

- java.lang.Object
- - org.springframework.messaging.support.AbstractMessageChannel
  - - org.springframework.messaging.support.AbstractSubscribableChannel
    - - org.springframework.messaging.support.ExecutorSubscribableChannel

- All Implemented Interfaces:
    Aware, BeanNameAware, MessageChannel, SubscribableChannel

      public class ExecutorSubscribableChannel
      extends AbstractSubscribableChannel

  A `SubscribableChannel` that sends messages to each of its subscribers.
  Since:
    4.0
  Author:
    Phillip Webb, Rossen Stoyanchev

- - ### Field Summary

    - ### Fields inherited from class org.springframework.messaging.support.AbstractMessageChannel

      `logger`

    - ### Fields inherited from interface org.springframework.messaging.MessageChannel

      `INDEFINITE_TIMEOUT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExecutorSubscribableChannel()` Create a new `ExecutorSubscribableChannel` instance where messages will be sent in the callers thread.
    `ExecutorSubscribableChannel(Executor executor)` Create a new `ExecutorSubscribableChannel` instance where messages will be sent via the specified executor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Executor` | `getExecutor()`
    `boolean` | `sendInternal(Message<?> message, long timeout)`

    - ### Methods inherited from class org.springframework.messaging.support.AbstractSubscribableChannel

      `getSubscribers, hasSubscription, subscribe, unsubscribe`

    - ### Methods inherited from class org.springframework.messaging.support.AbstractMessageChannel

      `addInterceptor, getBeanName, getInterceptorChain, getInterceptors, send, send, setBeanName, setInterceptors, toString`

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

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

    - ### Methods inherited from interface org.springframework.messaging.MessageChannel

      `send, send`

- - ### Constructor Detail

    - #### ExecutorSubscribableChannel

          public ExecutorSubscribableChannel()

      Create a new `ExecutorSubscribableChannel` instance where messages will be sent in the callers thread.

    - #### ExecutorSubscribableChannel

          public ExecutorSubscribableChannel(Executor executor)

      Create a new `ExecutorSubscribableChannel` instance where messages will be sent via the specified executor.
      Parameters:
        `executor` - the executor used to send the message or `null` to execute in the callers thread.

  - ### Method Detail

    - #### getExecutor

          public Executor getExecutor()

    - #### sendInternal

          public boolean sendInternal(Message<?> message,
                                      long timeout)

      Specified by:
        `sendInternal` in class `AbstractMessageChannel`