Interface SchedulingTaskExecutor

All Superinterfaces:
org.springframework.core.task.AsyncTaskExecutor, Executor, org.springframework.core.task.TaskExecutor
All Known Implementing Classes:
ConcurrentTaskExecutor, ConcurrentTaskScheduler, DefaultManagedTaskExecutor, DefaultManagedTaskScheduler, ThreadPoolTaskExecutor, ThreadPoolTaskScheduler

public interface SchedulingTaskExecutor extends org.springframework.core.task.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:
  • Field Summary

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

    TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Does this TaskExecutor 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 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 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 the SchedulingTaskExecutor 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 regular TaskExecutor)