Packages

t

akka.pattern

BackoffOptions

trait BackoffOptions extends AnyRef

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)
Annotations
@DoNotInherit()
Source
BackoffOptions.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BackoffOptions
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def withAutoReset(resetBackoff: FiniteDuration): BackoffOptions

    Returns a new BackoffOptions with automatic back-off reset.

    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.

    resetBackoff

    The back-off is reset if the child does not crash within this duration.

  2. abstract def withDefaultStoppingStrategy: BackoffOptions

    Returns a new BackoffOptions with a default SupervisorStrategy.stoppingStrategy.

    Returns a new BackoffOptions with a default SupervisorStrategy.stoppingStrategy. The default supervisor strategy is used as fallback for throwables not handled by SupervisorStrategy.stoppingStrategy.

  3. abstract def withFinalStopMessage(isFinalStopMessage: (Any) ⇒ Boolean): BackoffOptions

    Predicate evaluated for each message, if it returns true and the supervised actor is stopped then the supervisor will stop its self.

    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.

  4. abstract def withManualReset: BackoffOptions

    Returns a new BackoffOptions with manual back-off reset.

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

  5. abstract def withMaxNrOfRetries(maxNrOfRetries: Int): BackoffOptions

    Returns a new BackoffOptions with a maximum number of retries to restart the child actor.

    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.

    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

  6. abstract def withReplyWhileStopped(replyWhileStopped: Any): BackoffOptions

    Returns a new BackoffOptions with a constant reply to messages that the supervisor receives while its child is stopped.

    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.

    replyWhileStopped

    The message that the supervisor will send in response to all messages while its child is stopped.

  7. abstract def withSupervisorStrategy(supervisorStrategy: OneForOneStrategy): BackoffOptions

    Returns a new BackoffOptions with the supervisorStrategy.

    Returns a new BackoffOptions with the supervisorStrategy.

    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.