public interface SchedulingTaskExecutor extends AsyncTaskExecutor
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 new
ListenableFuture
interface,
which would make it impossible for third-party executor implementations
to remain compatible with both Spring 4.0 and Spring 3.x.
SchedulingAwareRunnable
,
TaskExecutor
,
WorkManagerTaskExecutor
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE
Modifier and Type | Method and Description |
---|---|
boolean |
prefersShortLivedTasks()
Does this
TaskExecutor prefer short-lived tasks over
long-lived tasks? |
execute, submit, submit
execute
boolean prefersShortLivedTasks()
TaskExecutor
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 the
SchedulingTaskExecutor
interface overall. However, thread
pools will usually indicated a preference for short-lived tasks, to be
able to perform more fine-grained scheduling.
true
if this TaskExecutor
prefers
short-lived tasks