org.springframework.scheduling

## Interface SchedulingTaskExecutor

All Superinterfaces:
  AsyncTaskExecutor, Executor, TaskExecutor

All Known Implementing Classes:
  ConcurrentTaskExecutor, ConcurrentTaskExecutor, ConcurrentTaskScheduler, GlassFishWorkManagerTaskExecutor, JBossWorkManagerTaskExecutor, SimpleThreadPoolTaskExecutor, ThreadPoolTaskExecutor, ThreadPoolTaskExecutor, ThreadPoolTaskScheduler, TimerTaskExecutor, WorkManagerTaskExecutor, WorkManagerTaskExecutor

    public interface SchedulingTaskExecutor
    extends AsyncTaskExecutor

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:
  `SchedulingAwareRunnable`, `TaskExecutor`, `WorkManagerTaskExecutor`

### Field Summary

### Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor

`TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE`

### Method Summary

Methods
`boolean` `prefersShortLivedTasks()` Does this `TaskExecutor` 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

    boolean prefersShortLivedTasks()

Does this `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.

Returns:
  `true` if this `TaskExecutor` prefers short-lived tasks