Package akka.pattern

Interface BackoffOptions

  • All Known Implementing Classes:
    BackoffOptionsImpl

    public interface BackoffOptions
    Configures a back-off supervisor actor. Start with Backoff.onStop or Backoff.onFailure. BackoffOptions is immutable, so be sure to chain methods like:
    
     val options = Backoff.onFailure(childProps, childName, minBackoff, maxBackoff, randomFactor)
                   .withManualReset
     context.actorOf(BackoffSupervisor.props(options), name)
     
    • Method Detail

      • props

        Props props()
        Returns the props to create the back-off supervisor.
        Returns:
        (undocumented)
      • withAutoReset

        BackoffOptions withAutoReset​(scala.concurrent.duration.FiniteDuration resetBackoff)
        Returns a new BackoffOptions with automatic back-off reset. The back-off algorithm is reset if the child does not crash within the specified resetBackoff.
        Parameters:
        resetBackoff - The back-off is reset if the child does not crash within this duration.
        Returns:
        (undocumented)
      • withDefaultStoppingStrategy

        BackoffOptions withDefaultStoppingStrategy()
        Returns a new BackoffOptions with a default SupervisorStrategy.stoppingStrategy. The default supervisor strategy is used as fallback for throwables not handled by SupervisorStrategy.stoppingStrategy.
        Returns:
        (undocumented)
      • withFinalStopMessage

        BackoffOptions withFinalStopMessage​(scala.Function1<java.lang.Object,​java.lang.Object> isFinalStopMessage)
        Predicate evaluated for each message, if it returns true and the supervised actor is stopped then the supervisor will stop its self. If it returns true while the supervised actor is running then it will be forwarded to the supervised actor and when the supervised actor stops its self the supervisor will stop its self.
        Parameters:
        isFinalStopMessage - (undocumented)
        Returns:
        (undocumented)
      • withManualReset

        BackoffOptions withManualReset()
        Returns a new BackoffOptions with manual back-off reset. The back-off is only reset if the child sends a BackoffSupervisor.Reset to its parent (the backoff-supervisor actor).
        Returns:
        (undocumented)
      • withMaxNrOfRetries

        BackoffOptions withMaxNrOfRetries​(int maxNrOfRetries)
        Returns a new BackoffOptions with a maximum number of retries to restart the child actor. By default, the supervisor will retry infinitely. With this option, the supervisor will terminate itself after the maxNoOfRetries is reached.
        Parameters:
        maxNrOfRetries - the number of times a child actor is allowed to be restarted, negative value means no limit, if the limit is exceeded the child actor is stopped
        Returns:
        (undocumented)
      • withReplyWhileStopped

        BackoffOptions withReplyWhileStopped​(java.lang.Object replyWhileStopped)
        Returns a new BackoffOptions with a constant reply to messages that the supervisor receives while its child is stopped. By default, a message received while the child is stopped is forwarded to deadLetters. With this option, the supervisor will reply to the sender instead.
        Parameters:
        replyWhileStopped - The message that the supervisor will send in response to all messages while its child is stopped.
        Returns:
        (undocumented)
      • withSupervisorStrategy

        BackoffOptions withSupervisorStrategy​(OneForOneStrategy supervisorStrategy)
        Returns a new BackoffOptions with the supervisorStrategy.
        Parameters:
        supervisorStrategy - the supervisorStrategy that the back-off supervisor will use. The default supervisor strategy is used as fallback if the specified supervisorStrategy (its decider) does not explicitly handle an exception. As the BackoffSupervisor creates a separate actor to handle the backoff process, only a OneForOneStrategy makes sense here. Note that changing the strategy will replace the previously defined maxNrOfRetries.
        Returns:
        (undocumented)