Class ScheduledExecutorScheduler

  • All Implemented Interfaces:
    Scheduler

    public class ScheduledExecutorScheduler
    extends java.lang.Object
    implements Scheduler

    This class is a clone of org.eclipse.jetty.util.thread.ScheduledExecutorScheduler

    Implementation of Scheduler based on JDK's ScheduledThreadPoolExecutor.

    While use of ScheduledThreadPoolExecutor creates futures that will not be used, it has the advantage of allowing to set a property to remove cancelled tasks from its queue even if the task did not fire, which provides a huge benefit in the performance of garbage collection in young generation.

    • Constructor Detail

      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler()
      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler​(java.lang.String name,
                                          boolean daemon)
      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler​(java.lang.String name,
                                          boolean daemon,
                                          java.lang.ClassLoader classLoader)
      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler​(java.lang.String name,
                                          boolean daemon,
                                          java.lang.ClassLoader classLoader,
                                          java.lang.ThreadGroup threadGroup)
    • Method Detail

      • schedule

        public Scheduler.Task schedule​(java.lang.Runnable task,
                                       long delay,
                                       java.util.concurrent.TimeUnit unit)
        Specified by:
        schedule in interface Scheduler
      • start

        public void start()
        Specified by:
        start in interface Scheduler
      • stop

        public void stop()
        Specified by:
        stop in interface Scheduler