org.springframework.scheduling

## Interface SchedulingAwareRunnable

- All Superinterfaces:
    Runnable

      public interface SchedulingAwareRunnable
      extends Runnable

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

  This interface closely corresponds to the CommonJ Work interface, but is kept separate to avoid a required CommonJ dependency.

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

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isLongLived()` Return whether the Runnable's operation is long-lived (`true`) versus short-lived (`false`).

    - ### Methods inherited from interface java.lang.Runnable

      `run`

- - ### Method Detail

    - #### isLongLived

          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.