Package org.springframework.core.task
Interface AsyncTaskExecutor
- All Superinterfaces:
Executor
,TaskExecutor
- All Known Subinterfaces:
AsyncListenableTaskExecutor
,SchedulingTaskExecutor
- All Known Implementing Classes:
ConcurrentTaskExecutor
,ConcurrentTaskScheduler
,DefaultManagedTaskExecutor
,DefaultManagedTaskScheduler
,SimpleAsyncTaskExecutor
,SimpleAsyncTaskScheduler
,SimpleThreadPoolTaskExecutor
,TaskExecutorAdapter
,ThreadPoolTaskExecutor
,ThreadPoolTaskScheduler
,VirtualThreadTaskExecutor
Extended interface for asynchronous
TaskExecutor
implementations,
offering support for Callable
.
Note: The Executors
class includes a set of
methods that can convert some other common closure-like objects, for example,
PrivilegedAction
to Callable
before executing them.
Implementing this interface also indicates that the TaskExecutor.execute(Runnable)
method will not execute its Runnable in the caller's thread but rather
asynchronously in some other thread.
- Since:
- 2.0.3
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final long
Deprecated.static final long
Deprecated.as of 5.3.16 along withexecute(Runnable, long)
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
Deprecated.as of 5.3.16 since the common executors do not support start timeoutsdefault Future<?>
Submit a Runnable task for execution, receiving a Future representing that task.default <T> Future<T>
Submit a Callable task for execution, receiving a Future representing that task.default CompletableFuture<Void>
submitCompletable
(Runnable task) Submit aRunnable
task for execution, receiving aCompletableFuture
representing that task.default <T> CompletableFuture<T>
submitCompletable
(Callable<T> task) Submit aCallable
task for execution, receiving aCompletableFuture
representing that task.Methods inherited from interface org.springframework.core.task.TaskExecutor
execute
-
Field Details
-
TIMEOUT_IMMEDIATE
Deprecated.as of 5.3.16 along withexecute(Runnable, long)
Constant that indicates immediate execution.- See Also:
-
TIMEOUT_INDEFINITE
Deprecated.as of 5.3.16 along withexecute(Runnable, long)
Constant that indicates no time limit.- See Also:
-
-
Method Details
-
execute
Deprecated.as of 5.3.16 since the common executors do not support start timeoutsExecute the giventask
.As of 6.1, this method comes with a default implementation that simply delegates to
TaskExecutor.execute(Runnable)
, ignoring the timeout completely.- Parameters:
task
- theRunnable
to execute (nevernull
)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 areTIMEOUT_IMMEDIATE
orTIMEOUT_INDEFINITE
(the default as used byTaskExecutor.execute(Runnable)
).- Throws:
TaskTimeoutException
- in case of the task being rejected because of the timeout (i.e. it cannot be started in time)TaskRejectedException
- if the given task was not accepted- See Also:
-
submit
Submit a Runnable task for execution, receiving a Future representing that task. The Future will return anull
result upon completion.As of 6.1, this method comes with a default implementation that delegates to
TaskExecutor.execute(Runnable)
.- Parameters:
task
- theRunnable
to execute (nevernull
)- Returns:
- a Future representing pending completion of the task
- Throws:
TaskRejectedException
- if the given task was not accepted- Since:
- 3.0
-
submit
Submit a Callable task for execution, receiving a Future representing that task. The Future will return the Callable's result upon completion.As of 6.1, this method comes with a default implementation that delegates to
TaskExecutor.execute(Runnable)
.- Parameters:
task
- theCallable
to execute (nevernull
)- Returns:
- a Future representing pending completion of the task
- Throws:
TaskRejectedException
- if the given task was not accepted- Since:
- 3.0
-
submitCompletable
Submit aRunnable
task for execution, receiving aCompletableFuture
representing that task. The Future will return anull
result upon completion.- Parameters:
task
- theRunnable
to execute (nevernull
)- Returns:
- a
CompletableFuture
representing pending completion of the task - Throws:
TaskRejectedException
- if the given task was not accepted- Since:
- 6.0
-
submitCompletable
Submit aCallable
task for execution, receiving aCompletableFuture
representing that task. The Future will return the Callable's result upon completion.- Parameters:
task
- theCallable
to execute (nevernull
)- Returns:
- a
CompletableFuture
representing pending completion of the task - Throws:
TaskRejectedException
- if the given task was not accepted- Since:
- 6.0
-
execute(Runnable, long)