Interface ExtendedBackoffOptions<T extends ExtendedBackoffOptions<T>>

All Known Subinterfaces:
BackoffOnFailureOptions, BackoffOnStopOptions
All Known Implementing Classes:
BackoffOnFailureOptionsImpl, BackoffOnStopOptionsImpl

public interface ExtendedBackoffOptions<T extends ExtendedBackoffOptions<T>>
Not for user extension
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the props to create the back-off supervisor.
    withAutoReset(scala.concurrent.duration.FiniteDuration resetBackoff)
    Returns a new BackoffOptions with automatic back-off reset.
    Returns a new BackoffOptions with a custom handler for messages that the supervisor receives while its child is stopped.
    Returns a new BackoffOptions with manual back-off reset.
    withMaxNrOfRetries(int maxNrOfRetries)
    Returns a new BackoffOptions with a maximum number of retries to restart the child actor.
    withReplyWhileStopped(Object replyWhileStopped)
    Returns a new BackoffOptions with a constant reply to messages that the supervisor receives while its child is stopped.
    Returns a new BackoffOptions with the supervisorStrategy.
  • Method Details

    • props

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

      T 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.
    • withHandlerWhileStopped

      T withHandlerWhileStopped(ActorRef handler)
      Returns a new BackoffOptions with a custom handler for messages that the supervisor receives while its child is stopped. By default, a message received while the child is stopped is forwarded to deadLetters. Essentially, this handler replaces deadLetters allowing to implement custom handling instead of a static reply.

      Parameters:
      handler - PartialFunction of the received message and sender
    • withManualReset

      T 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).
    • withMaxNrOfRetries

      T 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. If negative, the value is unbounded, otherwise the provided limit is used. If the limit is exceeded the child actor will be stopped.
    • withReplyWhileStopped

      T withReplyWhileStopped(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.
    • withSupervisorStrategy

      T 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.