Class RestartSupervisorStrategy


  • public abstract class RestartSupervisorStrategy
    extends SupervisorStrategy
    Not for user extension
    • Constructor Detail

      • RestartSupervisorStrategy

        public RestartSupervisorStrategy()
    • Method Detail

      • withLimit

        public abstract RestartSupervisorStrategy withLimit​(int maxNrOfRetries,
                                                            scala.concurrent.duration.FiniteDuration withinTimeRange)
        Scala API: Restart with a limit of number of restart retries. The number of restarts are limited to a number of restart attempts (maxNrOfRetries) within a time range (withinTimeRange). When the time window has elapsed without reaching maxNrOfRetries the restart count is reset.

        The strategy is applied also if the actor behavior is deferred and throws an exception during startup.

        Parameters:
        maxNrOfRetries - the number of times a child actor is allowed to be restarted, if the limit is exceeded the child actor is stopped
        withinTimeRange - duration of the time window for maxNrOfRetries
      • withLimit

        public abstract RestartSupervisorStrategy withLimit​(int maxNrOfRetries,
                                                            java.time.Duration withinTimeRange)
        Java API: Restart with a limit of number of restart retries. The number of restarts are limited to a number of restart attempts (maxNrOfRetries) within a time range (withinTimeRange). When the time window has elapsed without reaching maxNrOfRetries the restart count is reset.

        The strategy is applied also if the actor behavior is deferred and throws an exception during startup.

        Parameters:
        maxNrOfRetries - the number of times a child actor is allowed to be restarted, if the limit is exceeded the child actor is stopped
        withinTimeRange - duration of the time window for maxNrOfRetries
      • withStashCapacity

        public abstract RestartSupervisorStrategy withStashCapacity​(int capacity)
        While restarting (waiting for children to stop) incoming messages and signals are stashed, and delivered later to the newly restarted behavior. This property defines the capacity in number of messages of the stash buffer. If the capacity is exceed then additional incoming messages are dropped.

        By default the capacity is defined by config property akka.actor.typed.restart-stash-capacity.

      • withStopChildren

        public abstract RestartSupervisorStrategy withStopChildren​(boolean enabled)
        Stop or keep child actors when the parent actor is restarted. By default child actors are stopped when parent is restarted.
        Parameters:
        enabled - if true then child actors are stopped, otherwise they are kept