Interface SchedulingTaskExecutor
- All Superinterfaces:
AsyncTaskExecutor
,Executor
,TaskExecutor
- All Known Implementing Classes:
ConcurrentTaskExecutor
,ConcurrentTaskScheduler
,DefaultManagedTaskExecutor
,DefaultManagedTaskScheduler
,SimpleThreadPoolTaskExecutor
,ThreadPoolTaskExecutor
,ThreadPoolTaskScheduler
,WorkManagerTaskExecutor
,WorkManagerTaskExecutor
public interface SchedulingTaskExecutor extends AsyncTaskExecutor
ATaskExecutor
extension exposing scheduling characteristics that are relevant to potential task submitters.Scheduling clients are encouraged to submit
Runnables
that match the exposed preferences of theTaskExecutor
implementation in use.Note:
SchedulingTaskExecutor
implementations are encouraged to also implement theAsyncListenableTaskExecutor
interface. This is not required due to the dependency on Spring 4.0's newListenableFuture
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:
SchedulingAwareRunnable
,TaskExecutor
,WorkManagerTaskExecutor
Field Summary
Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default boolean
prefersShortLivedTasks()
Does thisTaskExecutor
prefer short-lived tasks over long-lived tasks?Methods inherited from interface org.springframework.core.task.AsyncTaskExecutor
execute, submit, submit
Methods inherited from interface org.springframework.core.task.TaskExecutor
execute
Method Detail
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 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
TaskExecutor
clients are free to ignore this flag and hence theSchedulingTaskExecutor
interface overall. However, thread pools will usually indicated 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
)