Interface SchedulingTaskExecutor
- All Superinterfaces:
AsyncTaskExecutor,Executor,TaskExecutor
- All Known Implementing Classes:
ConcurrentTaskExecutor,ConcurrentTaskScheduler,DefaultManagedTaskExecutor,DefaultManagedTaskScheduler,SimpleThreadPoolTaskExecutor,ThreadPoolTaskExecutor,ThreadPoolTaskScheduler
TaskExecutor extension exposing
scheduling characteristics that are relevant to potential task submitters.
Scheduling clients are encouraged to submit
Runnables that match the exposed preferences
of the TaskExecutor implementation in use.
Note: SchedulingTaskExecutor implementations are encouraged to also
implement the AsyncListenableTaskExecutor
interface. This is not required due to the dependency on Spring 4.0's
ListenableFuture interface,
which would make it impossible for third-party executor implementations
to remain compatible with both Spring 4.0 and Spring 3.x.
- Since:
- 2.0
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE -
Method Summary
Modifier and TypeMethodDescriptiondefault booleanDoes thisTaskExecutorprefer short-lived tasks over long-lived tasks?Methods inherited from interface org.springframework.core.task.AsyncTaskExecutor
execute, submit, submit, submitCompletable, submitCompletableMethods inherited from interface org.springframework.core.task.TaskExecutor
execute
-
Method Details
-
prefersShortLivedTasks
default boolean prefersShortLivedTasks()Does thisTaskExecutorprefer short-lived tasks over long-lived tasks?A
SchedulingTaskExecutorimplementation can indicate whether it prefers submitted tasks to perform as little work as they can within a single task execution. For example, submitted tasks might break a repeated loop into individual subtasks which submit a follow-up task afterwards (if feasible).This should be considered a hint. Of course
TaskExecutorclients are free to ignore this flag and hence theSchedulingTaskExecutorinterface overall. However, thread pools will usually indicate a preference for short-lived tasks, allowing for more fine-grained scheduling.- Returns:
trueif this executor prefers short-lived tasks (the default),falseotherwise (for treatment like a regularTaskExecutor)
-