类 ConcurrentTaskExecutor
- java.lang.Object
- org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
 
- 所有已实现的接口:
- Executor,- AsyncListenableTaskExecutor,- AsyncTaskExecutor,- TaskExecutor,- SchedulingTaskExecutor
 - public class ConcurrentTaskExecutor extends Object implements AsyncListenableTaskExecutor, SchedulingTaskExecutor Adapter that takes a- java.util.concurrent.Executorand exposes a Spring- TaskExecutorfor it. Also detects an extended- java.util.concurrent.ExecutorService, adapting the- AsyncTaskExecutorinterface accordingly.- Autodetects a JSR-236 - ManagedExecutorServicein order to expose- ManagedTaskadapters for it, exposing a long-running hint based on- SchedulingAwareRunnableand an identity name based on the given Runnable/Callable's- toString(). For JSR-236 style lookup in a Java EE 7 environment, consider using- DefaultManagedTaskExecutor.- Note that there is a pre-built - ThreadPoolTaskExecutorthat allows for defining a- ThreadPoolExecutorin bean style, exposing it as a Spring- TaskExecutordirectly. This is a convenient alternative to a raw ThreadPoolExecutor definition with a separate definition of the present adapter class.- 从以下版本开始:
- 2.0
- 作者:
- Juergen Hoeller
- 另请参阅:
- Executor,- ExecutorService,- ThreadPoolExecutor,- Executors,- DefaultManagedTaskExecutor,- ThreadPoolTaskExecutor
 
- 嵌套类概要- 嵌套类 - 修饰符和类型 - 类 - 说明 - protected static class- ConcurrentTaskExecutor.ManagedTaskBuilderDelegate that wraps a given Runnable/Callable with a JSR-236 ManagedTask, exposing a long-running hint based on- SchedulingAwareRunnableand a given identity name.
 - 字段概要- 从接口继承的字段 org.springframework.core.task.AsyncTaskExecutor- TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE
 
 - 构造器概要- 构造器 - 构造器 - 说明 - ConcurrentTaskExecutor()Create a new ConcurrentTaskExecutor, using a single thread executor as default.- ConcurrentTaskExecutor(Executor concurrentExecutor)Create a new ConcurrentTaskExecutor, using the given- Executor.
 - 方法概要- 所有方法 实例方法 具体方法 - 修饰符和类型 - 方法 - 说明 - void- execute(Runnable task)Execute the given- task.- void- execute(Runnable task, long startTimeout)Execute the given- task.- Executor- getConcurrentExecutor()Return the- Executorthat this adapter delegates to.- boolean- prefersShortLivedTasks()This task executor prefers short-lived work units.- void- setConcurrentExecutor(Executor concurrentExecutor)Specify the- Executorto delegate to.- void- setTaskDecorator(TaskDecorator taskDecorator)Specify a custom- TaskDecoratorto be applied to any- Runnableabout to be executed.- Future<?>- submit(Runnable task)Submit a Runnable task for execution, receiving a Future representing that task.- <T> Future<T>- submit(Callable<T> task)Submit a Callable task for execution, receiving a Future representing that task.- ListenableFuture<?>- submitListenable(Runnable task)Submit a- Runnabletask for execution, receiving a- ListenableFuturerepresenting that task.- <T> ListenableFuture<T>- submitListenable(Callable<T> task)Submit a- Callabletask for execution, receiving a- ListenableFuturerepresenting that task.
 
- 构造器详细资料- ConcurrentTaskExecutor- public ConcurrentTaskExecutor() Create a new ConcurrentTaskExecutor, using a single thread executor as default.
 - ConcurrentTaskExecutor- public ConcurrentTaskExecutor(Executor concurrentExecutor) Create a new ConcurrentTaskExecutor, using the given- Executor.- Autodetects a JSR-236 - ManagedExecutorServicein order to expose- ManagedTaskadapters for it.- 参数:
- concurrentExecutor- the- Executorto delegate to
 
 
 - 方法详细资料- setConcurrentExecutor- public final void setConcurrentExecutor(Executor concurrentExecutor) Specify the- Executorto delegate to.- Autodetects a JSR-236 - ManagedExecutorServicein order to expose- ManagedTaskadapters for it.
 - getConcurrentExecutor- public final Executor getConcurrentExecutor() Return the- Executorthat this adapter delegates to.
 - setTaskDecorator- public final void setTaskDecorator(TaskDecorator taskDecorator) Specify a custom- TaskDecoratorto be applied to any- Runnableabout to be executed.- Note that such a decorator is not necessarily being applied to the user-supplied - Runnable/- Callablebut 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 - TaskDecoratorimplementations is limited to plain- Runnableexecution via- executecalls. In case of- #submitcalls, the exposed- Runnablewill be a- FutureTaskwhich does not propagate any exceptions; you might have to cast it and call- Future#getto evaluate exceptions.- 从以下版本开始:
- 4.3
 
 - execute- public void execute(Runnable task) 从接口复制的说明:- TaskExecutorExecute the given- task.- The call might return immediately if the implementation uses an asynchronous execution strategy, or might block in the case of synchronous execution. - 指定者:
- execute在接口中- Executor
- 指定者:
- execute在接口中- TaskExecutor
- 参数:
- task- the- Runnableto execute (never- null)
 
 - execute- public void execute(Runnable task, long startTimeout) 从接口复制的说明:- AsyncTaskExecutorExecute the given- task.- 指定者:
- execute在接口中- AsyncTaskExecutor
- 参数:
- task- the- Runnableto 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_IMMEDIATEor- AsyncTaskExecutor.TIMEOUT_INDEFINITE(the default as used by- TaskExecutor.execute(Runnable)).
 
 - submit- public Future<?> submit(Runnable task) 从接口复制的说明:- AsyncTaskExecutorSubmit a Runnable task for execution, receiving a Future representing that task. The Future will return a- nullresult upon completion.- 指定者:
- submit在接口中- AsyncTaskExecutor
- 参数:
- task- the- Runnableto execute (never- null)
- 返回:
- a Future representing pending completion of the task
 
 - submit- public <T> Future<T> submit(Callable<T> task) 从接口复制的说明:- AsyncTaskExecutorSubmit 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- Callableto execute (never- null)
- 返回:
- a Future representing pending completion of the task
 
 - submitListenable- public ListenableFuture<?> submitListenable(Runnable task) 从接口复制的说明:- AsyncListenableTaskExecutorSubmit a- Runnabletask for execution, receiving a- ListenableFuturerepresenting that task. The Future will return a- nullresult upon completion.- 指定者:
- submitListenable在接口中- AsyncListenableTaskExecutor
- 参数:
- task- the- Runnableto execute (never- null)
- 返回:
- a ListenableFuturerepresenting pending completion of the task
 
 - submitListenable- public <T> ListenableFuture<T> submitListenable(Callable<T> task) 从接口复制的说明:- AsyncListenableTaskExecutorSubmit a- Callabletask for execution, receiving a- ListenableFuturerepresenting that task. The Future will return the Callable's result upon completion.- 指定者:
- submitListenable在接口中- AsyncListenableTaskExecutor
- 参数:
- task- the- Callableto execute (never- null)
- 返回:
- a ListenableFuturerepresenting pending completion of the task
 
 - prefersShortLivedTasks- public boolean prefersShortLivedTasks() This task executor prefers short-lived work units.- 指定者:
- prefersShortLivedTasks在接口中- SchedulingTaskExecutor
- 返回:
- trueif this- TaskExecutorprefers short-lived tasks