Class ShutdownableScheduledExecutorServiceImpl<E extends ScheduledExecutorService>

    • Constructor Detail

      • ShutdownableScheduledExecutorServiceImpl

        public ShutdownableScheduledExecutorServiceImpl​(@Nonnull
                                                        E executor)
    • Method Detail

      • shutdown

        public void shutdown()
        Description copied from interface: Shutdownable
        Starts the shutdown process. It is recommended to perform the actual shutdown activity in a separate thread from the thread that calls shutdown
        Specified by:
        shutdown in interface java.util.concurrent.ExecutorService
        Specified by:
        shutdown in interface Shutdownable
        Overrides:
        shutdown in class ShutdownableExecutorServiceImpl<E extends ScheduledExecutorService>
        See Also:
        ExecutorService.shutdown()
      • schedule

        @Nonnull
        public final ScheduledFuture<?> schedule​(@Nonnull
                                                 java.lang.Runnable command,
                                                 long delay,
                                                 @Nonnull
                                                 java.util.concurrent.TimeUnit unit)
        Description copied from interface: ScheduledExecutorService
        Creates and executes a one-shot action that becomes enabled after the given delay.
        Specified by:
        schedule in interface ScheduledExecutorService
        Specified by:
        schedule in interface java.util.concurrent.ScheduledExecutorService
        Parameters:
        command - the task to execute
        delay - the time from now to delay execution
        unit - the time unit of the delay parameter
        Returns:
        a ScheduledFuture representing pending completion of the task and whose get() method will return null upon completion
        See Also:
        ScheduledExecutorService.schedule(Runnable, long, java.util.concurrent.TimeUnit)
      • scheduleAtFixedRate

        @Nonnull
        public final ScheduledFuture<?> scheduleAtFixedRate​(@Nonnull
                                                            java.lang.Runnable command,
                                                            long initialDelay,
                                                            long period,
                                                            @Nonnull
                                                            java.util.concurrent.TimeUnit unit)
        Description copied from interface: ScheduledExecutorService
        Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with the given period; that is executions will commence after initialDelay then initialDelay+period, then initialDelay + 2 * period, and so on. If any execution of the task encounters an exception, subsequent executions are suppressed. Otherwise, the task will only terminate via cancellation or termination of the executor. If any execution of this task takes longer than its period, then subsequent executions may start late, but will not concurrently execute.
        Specified by:
        scheduleAtFixedRate in interface ScheduledExecutorService
        Specified by:
        scheduleAtFixedRate in interface java.util.concurrent.ScheduledExecutorService
        Parameters:
        command - the task to execute
        initialDelay - the time to delay first execution
        period - the period between successive executions
        unit - the time unit of the initialDelay and period parameters
        Returns:
        a ScheduledFuture representing pending completion of the task, and whose get() method will throw an exception upon cancellation
        See Also:
        ScheduledExecutorService.scheduleAtFixedRate(Runnable, long, long, java.util.concurrent.TimeUnit)
      • scheduleWithFixedDelay

        @Nonnull
        public final ScheduledFuture<?> scheduleWithFixedDelay​(@Nonnull
                                                               java.lang.Runnable command,
                                                               long initialDelay,
                                                               long delay,
                                                               @Nonnull
                                                               java.util.concurrent.TimeUnit unit)
        Description copied from interface: ScheduledExecutorService
        Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with the given delay between the termination of one execution and the commencement of the next. If any execution of the task encounters an exception, subsequent executions are suppressed. Otherwise, the task will only terminate via cancellation or termination of the executor.
        Specified by:
        scheduleWithFixedDelay in interface ScheduledExecutorService
        Specified by:
        scheduleWithFixedDelay in interface java.util.concurrent.ScheduledExecutorService
        Parameters:
        command - the task to execute
        initialDelay - the time to delay first execution
        delay - the delay between the termination of one execution and the commencement of the next
        unit - the time unit of the initialDelay and delay parameters
        Returns:
        a ScheduledFuture representing pending completion of the task, and whose get() method will throw an exception upon cancellation
        See Also:
        ScheduledExecutorService.scheduleWithFixedDelay(Runnable, long, long, java.util.concurrent.TimeUnit)