package org.audit4j.core.schedule; /** * Extension of the Runnable interface, adding special callbacks for * long-running operations. * * <p> * This interface closely corresponds to the CommonJ Work interface, but is kept * separate to avoid a required CommonJ dependency. * * <p> * 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. * * @author Juergen Hoeller * @since 2.0 * @see commonj.work.Work * @see SchedulingTaskExecutor */ public interface SchedulingAwareRunnable extends Runnable { /** * Return whether the Runnable's operation is long-lived ({@code true}) * versus short-lived ({@code false}). * <p> * 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. * <p> * This should be considered a hint. Of course TaskExecutor implementations * are free to ignore this flag and the SchedulingAwareRunnable interface * overall. * * @return true, if is long lived */ boolean isLongLived(); }