Class RestartSupervisorStrategy

java.lang.Object
org.apache.pekko.actor.typed.SupervisorStrategy
org.apache.pekko.actor.typed.RestartSupervisorStrategy

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

    • RestartSupervisorStrategy

      public RestartSupervisorStrategy()
  • Method Details

    • 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, 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
    • withLogLevel

      public abstract RestartSupervisorStrategy withLogLevel(org.slf4j.event.Level level)
      Specified by:
      withLogLevel in class SupervisorStrategy
    • withLoggingEnabled

      public abstract RestartSupervisorStrategy withLoggingEnabled(boolean enabled)
      Specified by:
      withLoggingEnabled in class SupervisorStrategy
    • 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 pekko.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