Class ConcurrentTaskExecutor
- All Implemented Interfaces:
Executor, org.springframework.core.task.AsyncTaskExecutor, org.springframework.core.task.TaskExecutor, SchedulingTaskExecutor
- Direct Known Subclasses:
ConcurrentTaskScheduler, DefaultManagedTaskExecutor
java.util.concurrent.Executor and exposes
a Spring TaskExecutor for it.
Also detects an extended java.util.concurrent.ExecutorService, adapting
the AsyncTaskExecutor interface accordingly.
Autodetects a JSR-236 ManagedExecutorService
in order to expose ManagedTask adapters for it,
exposing a long-running hint based on SchedulingAwareRunnable and an identity
name based on the given Runnable/Callable's toString(). For JSR-236 style
lookup in a Jakarta EE environment, consider using DefaultManagedTaskExecutor.
Note that there is a pre-built ThreadPoolTaskExecutor that allows
for defining a ThreadPoolExecutor in bean style,
exposing it as a Spring TaskExecutor directly.
This is a convenient alternative to a raw ThreadPoolExecutor definition with
a separate definition of the present adapter class.
- Since:
- 2.0
- Author:
- Juergen Hoeller
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classDelegate that wraps a given Runnable/Callable with a JSR-236 ManagedTask, exposing a long-running hint based onSchedulingAwareRunnableand a given identity name. -
Field Summary
Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.ConcurrentTaskExecutor(@Nullable Executor executor) Create a new ConcurrentTaskExecutor, using the givenExecutor. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidDeprecated.final ExecutorReturn theExecutorthat this adapter delegates to.final voidsetConcurrentExecutor(Executor executor) Specify theExecutorto delegate to.final voidsetTaskDecorator(org.springframework.core.task.TaskDecorator taskDecorator) Specify a customTaskDecoratorto be applied to anyRunnableabout to be executed.Future<?> <T> Future<T> Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.core.task.AsyncTaskExecutor
submitCompletable, submitCompletableMethods inherited from interface SchedulingTaskExecutor
prefersShortLivedTasks
-
Constructor Details
-
ConcurrentTaskExecutor
Deprecated.in favor ofConcurrentTaskExecutor(Executor)with an externally provided ExecutorCreate a new ConcurrentTaskExecutor, using a single thread executor as default.- See Also:
-
ConcurrentTaskExecutor
-
-
Method Details
-
setConcurrentExecutor
-
getConcurrentExecutor
-
setTaskDecorator
public final void setTaskDecorator(org.springframework.core.task.TaskDecorator taskDecorator) Specify a customTaskDecoratorto be applied to anyRunnableabout 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.
- Since:
- 4.3
-
execute
-
execute
Deprecated.- Specified by:
executein interfaceorg.springframework.core.task.AsyncTaskExecutor
-
submit
-
submit
-
ConcurrentTaskExecutor(Executor)with an externally provided Executor