Interface ScheduledTaskService

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.concurrent.ScheduledFuture<?> addRepeatingTask​(java.lang.Runnable runnable, long initialDelay, long period, java.util.concurrent.TimeUnit timeUnit)
      Enqueues a task to run periodically.
      java.util.concurrent.ScheduledFuture<?> addScheduledTask​(java.lang.Runnable runnable, long delay, java.util.concurrent.TimeUnit timeUnit)
      Enqueues a task to run after a delay.
      void addTask​(java.lang.Runnable runnable)
      Enqueues a task to run.
      void shutdown​(boolean immediately)
      Shut down the service.
    • Method Detail

      • shutdown

        void shutdown​(boolean immediately)
        Shut down the service. If the immediate parameter is true, the service will attempt to stop all active tasks, and will not begin work on any other tasks in the queue. Otherwise, the service will complete all tasks in the work queue, but will not accept any new tasks.
        Parameters:
        immediately - true to shutdown immediately.
      • addTask

        void addTask​(java.lang.Runnable runnable)
        Enqueues a task to run. Duplicate tasks are ignored.
        Parameters:
        runnable - the task to add
        Throws:
        java.lang.IllegalArgumentException - if runnable is null
      • addScheduledTask

        java.util.concurrent.ScheduledFuture<?> addScheduledTask​(java.lang.Runnable runnable,
                                                                 long delay,
                                                                 java.util.concurrent.TimeUnit timeUnit)
        Enqueues a task to run after a delay. Duplicate tasks are ignored.
        Parameters:
        runnable - the task to add.
        delay - delay before execution of the task. timeUnit determines the units of the value.
        timeUnit - time unit of initialDelay and period.
        Returns:
        a ScheduledFuture that can be used to get the result of the task, or cancel the task, or null if the task was not enqueued.
        Throws:
        java.lang.IllegalArgumentException - if runnable is null
      • addRepeatingTask

        java.util.concurrent.ScheduledFuture<?> addRepeatingTask​(java.lang.Runnable runnable,
                                                                 long initialDelay,
                                                                 long period,
                                                                 java.util.concurrent.TimeUnit timeUnit)
        Enqueues a task to run periodically. This method follows the same semantics as ScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit). Duplicate tasks are ignored.
        Parameters:
        runnable - the task to add.
        initialDelay - delay before the first execution of the task. timeUnit determines the units of the value.
        period - interval between executions of the task. timeUnit determines the units of the value.
        timeUnit - time unit of initialDelay and period.
        Returns:
        a ScheduledFuture that can be used to get the result of the task, or cancel the task, or null if the task was not enqueued.
        Throws:
        java.lang.IllegalArgumentException - if runnable is null