Interface SchedulingAwareRunnable

All Superinterfaces:
Runnable
All Known Implementing Classes:
ScheduledMethodRunnable

public interface SchedulingAwareRunnable extends Runnable
Extension of the Runnable interface, adding special callbacks for long-running operations.

Scheduling-capable TaskExecutors are encouraged to check a submitted Runnable, detecting whether this interface is implemented and reacting as appropriately as they are able to.

Since:
2.0
Author:
Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default String
    Return a qualifier associated with this Runnable.
    default boolean
    Return whether the Runnable's operation is long-lived (true) versus short-lived (false).

    Methods inherited from interface java.lang.Runnable

    run
  • Method Details

    • isLongLived

      default boolean isLongLived()
      Return whether the Runnable's operation is long-lived (true) versus short-lived (false).

      In the former case, the task will not allocate a thread from the thread pool (if any) but rather be considered as long-running background thread.

      This should be considered a hint. Of course TaskExecutor implementations are free to ignore this flag and the SchedulingAwareRunnable interface overall.

      The default implementation returns false, as of 6.1.

    • getQualifier

      @Nullable default String getQualifier()
      Return a qualifier associated with this Runnable.

      The default implementation returns null.

      May be used for custom purposes depending on the scheduler implementation. TaskSchedulerRouter introspects this qualifier in order to determine the target scheduler to be used for a given Runnable, matching the qualifier value (or the bean name) of a specific TaskScheduler or ScheduledExecutorService bean definition.

      Since:
      6.1
      See Also: