Package org.springframework.scheduling
Interface SchedulingTaskExecutor
- All Superinterfaces:
AsyncTaskExecutor
,Executor
,TaskExecutor
- All Known Implementing Classes:
ConcurrentTaskExecutor
,ConcurrentTaskScheduler
,DefaultManagedTaskExecutor
,DefaultManagedTaskScheduler
,SimpleThreadPoolTaskExecutor
,ThreadPoolTaskExecutor
,ThreadPoolTaskScheduler
A
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.
- 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 boolean
Does thisTaskExecutor
prefer short-lived tasks over long-lived tasks?Methods inherited from interface org.springframework.core.task.AsyncTaskExecutor
execute, submit, submit, submitCompletable, submitCompletable
Methods inherited from interface org.springframework.core.task.TaskExecutor
execute
-
Method Details
-
prefersShortLivedTasks
default boolean prefersShortLivedTasks()Does thisTaskExecutor
prefer short-lived tasks over long-lived tasks?A
SchedulingTaskExecutor
implementation can indicate whether it prefers submitted tasks to perform as little work as it 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
TaskExecutor
clients are free to ignore this flag and hence theSchedulingTaskExecutor
interface overall. However, thread pools will usually indicate a preference for short-lived tasks, allowing for more fine-grained scheduling.- Returns:
true
if this executor prefers short-lived tasks (the default),false
otherwise (for treatment like a regularTaskExecutor
)
-