public interface

SchedulingTaskExecutor

implements AsyncTaskExecutor
org.springframework.scheduling.SchedulingTaskExecutor
Known Indirect Subclasses

Class Overview

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.

Summary

[Expand]
Inherited Constants
From interface org.springframework.core.task.AsyncTaskExecutor
Public Methods
abstract 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.

[Expand]
Inherited Methods
From interface java.util.concurrent.Executor
From interface org.springframework.core.task.AsyncTaskExecutor
From interface org.springframework.core.task.TaskExecutor

Public Methods

public abstract 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