org.springframework.core.task.support

## 类 TaskExecutorAdapter

- java.lang.Object
- - org.springframework.core.task.support.TaskExecutorAdapter

- 所有已实现的接口:
    Executor, AsyncListenableTaskExecutor, AsyncTaskExecutor, TaskExecutor

      public class TaskExecutorAdapter
      extends Object
      implements AsyncListenableTaskExecutor

  Adapter that takes a JDK `java.util.concurrent.Executor` and exposes a Spring `TaskExecutor` for it. Also detects an extended `java.util.concurrent.ExecutorService`, adapting the `AsyncTaskExecutor` interface accordingly.
  从以下版本开始:
    3.0
  作者:
    Juergen Hoeller
  另请参阅:
    `Executor`, `ExecutorService`, `Executors`

- - ### 字段概要

    - ### 从接口继承的字段 org.springframework.core.task.AsyncTaskExecutor

      `TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE`

  - ### 构造器概要

    构造器
    构造器和说明
    `TaskExecutorAdapter(Executor concurrentExecutor)` Create a new TaskExecutorAdapter, using the given JDK concurrent executor.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected void` | `doExecute(Executor concurrentExecutor, TaskDecorator taskDecorator, Runnable runnable)` Actually execute the given `Runnable` (which may be a user-supplied task or a wrapper around a user-supplied task) with the given executor.
    `void` | `execute(Runnable task)` Delegates to the specified JDK concurrent executor.
    `void` | `execute(Runnable task, long startTimeout)` Execute the given `task`.
    `void` | `setTaskDecorator(TaskDecorator taskDecorator)` Specify a custom `TaskDecorator` to be applied to any `Runnable` about to be executed.
    `<T> Future<T>` | `submit(Callable<T> task)` Submit a Callable task for execution, receiving a Future representing that task.
    `Future<?>` | `submit(Runnable task)` Submit a Runnable task for execution, receiving a Future representing that task.
    `<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.

    - ### 从类继承的方法 java.lang.Object

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

- - ### 构造器详细资料

    - #### TaskExecutorAdapter

          public TaskExecutorAdapter(Executor concurrentExecutor)

      Create a new TaskExecutorAdapter, using the given JDK concurrent executor.
      参数:
        `concurrentExecutor` - the JDK concurrent executor to delegate to

  - ### 方法详细资料

    - #### setTaskDecorator

          public final void setTaskDecorator(TaskDecorator taskDecorator)

      Specify a custom `TaskDecorator` to be applied to any `Runnable` about to be executed.

      Note that such a decorator is not necessarily being applied to the user-supplied `Runnable`/`Callable` but rather to the actual execution callback (which may be a wrapper around the user-supplied task).

      The primary use case is to set some execution context around the task's invocation, or to provide some monitoring/statistics for task execution.

      从以下版本开始:
        4.3

    - #### execute

          public void execute(Runnable task)

      Delegates to the specified JDK concurrent executor.
      指定者:
        `execute` 在接口中 `Executor`
      指定者:
        `execute` 在接口中 `TaskExecutor`
      参数:
        `task` - the `Runnable` to execute (never `null`)
      另请参阅:
        `Executor.execute(Runnable)`

    - #### execute

          public void execute(Runnable task,
                              long startTimeout)

      从接口复制的说明: `AsyncTaskExecutor`
      Execute the given `task`.
      指定者:
        `execute` 在接口中 `AsyncTaskExecutor`
      参数:
        `task` - the `Runnable` to execute (never `null`)
        `startTimeout` - the time duration (milliseconds) within which the task is supposed to start. This is intended as a hint to the executor, allowing for preferred handling of immediate tasks. Typical values are `AsyncTaskExecutor.TIMEOUT_IMMEDIATE` or `AsyncTaskExecutor.TIMEOUT_INDEFINITE` (the default as used by `TaskExecutor.execute(Runnable)`).

    - #### submit

          public Future<?> submit(Runnable task)

      从接口复制的说明: `AsyncTaskExecutor`
      Submit a Runnable task for execution, receiving a Future representing that task. The Future will return a `null` result upon completion.
      指定者:
        `submit` 在接口中 `AsyncTaskExecutor`
      参数:
        `task` - the `Runnable` to execute (never `null`)
      返回:
        a Future representing pending completion of the task

    - #### submit

          public <T> Future<T> submit(Callable<T> task)

      从接口复制的说明: `AsyncTaskExecutor`
      Submit a Callable task for execution, receiving a Future representing that task. The Future will return the Callable's result upon completion.
      指定者:
        `submit` 在接口中 `AsyncTaskExecutor`
      参数:
        `task` - the `Callable` to execute (never `null`)
      返回:
        a Future representing pending completion of the task

    - #### submitListenable

          public ListenableFuture<?> submitListenable(Runnable task)

      从接口复制的说明: `AsyncListenableTaskExecutor`
      Submit a `Runnable` task for execution, receiving a `ListenableFuture` representing that task. The Future will return a `null` result upon completion.
      指定者:
        `submitListenable` 在接口中 `AsyncListenableTaskExecutor`
      参数:
        `task` - the `Runnable` to execute (never `null`)
      返回:
        a `ListenableFuture` representing pending completion of the task

    - #### submitListenable

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

      从接口复制的说明: `AsyncListenableTaskExecutor`
      Submit a `Callable` task for execution, receiving a `ListenableFuture` representing that task. The Future will return the Callable's result upon completion.
      指定者:
        `submitListenable` 在接口中 `AsyncListenableTaskExecutor`
      参数:
        `task` - the `Callable` to execute (never `null`)
      返回:
        a `ListenableFuture` representing pending completion of the task

    - #### doExecute

          protected void doExecute(Executor concurrentExecutor,
                                   @Nullable
                                   TaskDecorator taskDecorator,
                                   Runnable runnable)
                            throws RejectedExecutionException

      Actually execute the given `Runnable` (which may be a user-supplied task or a wrapper around a user-supplied task) with the given executor.
      参数:
        `concurrentExecutor` - the underlying JDK concurrent executor to delegate to
        `taskDecorator` - the specified decorator to be applied, if any
        `runnable` - the runnable to execute
      抛出:
        `RejectedExecutionException` - if the given runnable cannot be accepted
      从以下版本开始:
        4.3