类 TaskExecutorAdapter

java.lang.Object
cn.taketoday.core.task.support.TaskExecutorAdapter
所有已实现的接口:
AsyncListenableTaskExecutor, AsyncTaskExecutor, TaskExecutor, Executor

public class TaskExecutorAdapter extends Object implements AsyncListenableTaskExecutor
Adapter that takes a JDK java.util.concurrent.Executor and exposes a TaskExecutor for it. Also detects an extended java.util.concurrent.ExecutorService, adapting the AsyncTaskExecutor interface accordingly.
从以下版本开始:
4.0
作者:
Juergen Hoeller, Harry Yang
另请参阅:
  • 字段详细资料

  • 构造器详细资料

    • 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(@Nullable 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.

      NOTE: Exception handling in TaskDecorator implementations is limited to plain Runnable execution via execute calls. In case of #submit calls, the exposed Runnable will be a FutureTask which does not propagate any exceptions; you might have to cast it and call Future#get to evaluate exceptions.

    • execute

      public void execute(Runnable task)
      Delegates to the specified JDK concurrent executor.
      指定者:
      execute 在接口中 Executor
      指定者:
      execute 在接口中 TaskExecutor
      参数:
      task - the Runnable to execute (never null)
      另请参阅:
    • 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.

      this method comes with a default implementation that delegates to TaskExecutor.execute(Runnable).

      指定者:
      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.

      this method comes with a default implementation that delegates to TaskExecutor.execute(Runnable).

      指定者:
      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.

      in favor of AsyncTaskExecutor.submitCompletable(Runnable)

      指定者:
      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.

      in favor of AsyncTaskExecutor.submitCompletable(Callable)

      指定者:
      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