org.springframework.core.task

## Interface AsyncListenableTaskExecutor

- All Superinterfaces:
    AsyncTaskExecutor, Executor, TaskExecutor
  All Known Implementing Classes:
    ConcurrentTaskExecutor, ConcurrentTaskScheduler, DefaultManagedTaskExecutor, DefaultManagedTaskScheduler, SimpleAsyncTaskExecutor, SimpleThreadPoolTaskExecutor, TaskExecutorAdapter, ThreadPoolTaskExecutor, ThreadPoolTaskScheduler, WorkManagerTaskExecutor, WorkManagerTaskExecutor

      public interface AsyncListenableTaskExecutor
      extends AsyncTaskExecutor

  Extension of the `AsyncTaskExecutor` interface, adding the capability to submit tasks for `ListenableFutures`.
  Since:
    4.0
  Author:
    Arjen Poutsma
  See Also:
    `ListenableFuture`

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor

      `TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> ListenableFuture<T>` | `submitListenable(Callable<T> task)` Submit a `Callable` task for execution, receiving a `ListenableFuture` representing that task.
    `ListenableFuture<?>` | `submitListenable(Runnable task)` Submit a `Runnable` task for execution, receiving a `ListenableFuture` representing that task.

    - ### Methods inherited from interface org.springframework.core.task.AsyncTaskExecutor

      `execute, submit, submit`

    - ### Methods inherited from interface org.springframework.core.task.TaskExecutor

      `execute`

- - ### Method Detail

    - #### submitListenable

          ListenableFuture<?> submitListenable(Runnable task)

      Submit a `Runnable` task for execution, receiving a `ListenableFuture` representing that task. The Future will return a `null` result upon completion.
      Parameters:
        `task` - the `Runnable` to execute (never `null`)
      Returns:
        a `ListenableFuture` representing pending completion of the task
      Throws:
        `TaskRejectedException` - if the given task was not accepted

    - #### submitListenable

          <T> ListenableFuture<T> submitListenable(Callable<T> task)

      Submit a `Callable` task for execution, receiving a `ListenableFuture` representing that task. The Future will return the Callable's result upon completion.
      Parameters:
        `task` - the `Callable` to execute (never `null`)
      Returns:
        a `ListenableFuture` representing pending completion of the task
      Throws:
        `TaskRejectedException` - if the given task was not accepted