Class AbstractScheduler

  extended by akka.actor.AbstractSchedulerBase
      extended by akka.actor.AbstractScheduler
All Implemented Interfaces:

public abstract class AbstractScheduler
extends AbstractSchedulerBase

An Akka scheduler service. This one needs one special behavior: if Closeable, it MUST execute all outstanding tasks upon .close() in order to properly shutdown all dispatchers. Furthermore, this timer service MUST throw IllegalStateException if it cannot schedule a task. Once scheduled, the task MUST be executed. If executed upon close(), the task may execute before its timeout. Scheduler implementation are loaded reflectively at ActorSystem start-up with the following constructor arguments: 1) the system’s com.typesafe.config.Config (from system.settings.config) 2) a akka.event.LoggingAdapter 3) a java.util.concurrent.ThreadFactory

Constructor Summary
Method Summary
abstract  double maxFrequency()
          The maximum supported task frequency of this scheduler, i.e.
abstract  Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration interval, java.lang.Runnable runnable, scala.concurrent.ExecutionContext executor)
          Schedules a function to be run repeatedly with an initial delay and a frequency.
abstract  Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, java.lang.Runnable runnable, scala.concurrent.ExecutionContext executor)
          Schedules a Runnable to be run once with a delay, i.e.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface akka.actor.Scheduler
schedule, schedule, scheduleOnce, scheduleOnce

Constructor Detail


public AbstractScheduler()
Method Detail


public abstract Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay,
                                     scala.concurrent.duration.FiniteDuration interval,
                                     java.lang.Runnable runnable,
                                     scala.concurrent.ExecutionContext executor)
Schedules a function to be run repeatedly with an initial delay and a frequency. E.g. if you would like the function to be run after 2 seconds and thereafter every 100ms you would set delay = Duration(2, TimeUnit.SECONDS) and interval = Duration(100, TimeUnit.MILLISECONDS)


public abstract Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay,
                                         java.lang.Runnable runnable,
                                         scala.concurrent.ExecutionContext executor)
Schedules a Runnable to be run once with a delay, i.e. a time period that has to pass before the runnable is executed.


public abstract double maxFrequency()
The maximum supported task frequency of this scheduler, i.e. the inverse of the minimum time interval between executions of a recurring task, in Hz.