Class BackoffOnStopOptionsImpl<T>

java.lang.Object
org.apache.pekko.pattern.BackoffOnStopOptionsImpl<T>
All Implemented Interfaces:
Serializable, BackoffOnStopOptions, ExtendedBackoffOptions<BackoffOnStopOptions>, scala.Equals, scala.Product

public final class BackoffOnStopOptionsImpl<T> extends Object implements BackoffOnStopOptions, scala.Product, Serializable
See Also:
  • Constructor Details

    • BackoffOnStopOptionsImpl

      public BackoffOnStopOptionsImpl(Props childProps, String childName, scala.concurrent.duration.FiniteDuration minBackoff, scala.concurrent.duration.FiniteDuration maxBackoff, double randomFactor, scala.Option<BackoffReset> reset, OneForOneStrategy supervisorStrategy, HandlingWhileStopped handlingWhileStopped, scala.Option<scala.Function1<Object,Object>> finalStopMessage)
  • Method Details

    • $lessinit$greater$default$6

      public static <T> scala.Option<BackoffReset> $lessinit$greater$default$6()
    • $lessinit$greater$default$7

      public static <T> OneForOneStrategy $lessinit$greater$default$7()
    • $lessinit$greater$default$8

      public static <T> HandlingWhileStopped $lessinit$greater$default$8()
    • $lessinit$greater$default$9

      public static <T> scala.Option<scala.Function1<Object,Object>> $lessinit$greater$default$9()
    • apply

      public static <T> BackoffOnStopOptionsImpl<T> apply(Props childProps, String childName, scala.concurrent.duration.FiniteDuration minBackoff, scala.concurrent.duration.FiniteDuration maxBackoff, double randomFactor, scala.Option<BackoffReset> reset, OneForOneStrategy supervisorStrategy, HandlingWhileStopped handlingWhileStopped, scala.Option<scala.Function1<Object,Object>> finalStopMessage)
    • apply$default$6

      public static <T> scala.Option<BackoffReset> apply$default$6()
    • apply$default$7

      public static <T> OneForOneStrategy apply$default$7()
    • apply$default$8

      public static <T> HandlingWhileStopped apply$default$8()
    • apply$default$9

      public static <T> scala.Option<scala.Function1<Object,Object>> apply$default$9()
    • unapply

      public static <T> scala.Option<scala.Tuple9<Props,String,scala.concurrent.duration.FiniteDuration,scala.concurrent.duration.FiniteDuration,Object,scala.Option<BackoffReset>,OneForOneStrategy,HandlingWhileStopped,scala.Option<scala.Function1<Object,Object>>>> unapply(BackoffOnStopOptionsImpl<T> x$0)
    • childProps

      public Props childProps()
    • childName

      public String childName()
    • minBackoff

      public scala.concurrent.duration.FiniteDuration minBackoff()
    • maxBackoff

      public scala.concurrent.duration.FiniteDuration maxBackoff()
    • randomFactor

      public double randomFactor()
    • reset

      public scala.Option<BackoffReset> reset()
    • supervisorStrategy

      public OneForOneStrategy supervisorStrategy()
    • handlingWhileStopped

      public HandlingWhileStopped handlingWhileStopped()
    • finalStopMessage

      public scala.Option<scala.Function1<Object,Object>> finalStopMessage()
    • withAutoReset

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withAutoReset(scala.concurrent.duration.FiniteDuration resetBackoff)
      Description copied from interface: ExtendedBackoffOptions
      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.

      Specified by:
      withAutoReset in interface ExtendedBackoffOptions<T>
      Parameters:
      resetBackoff - The back-off is reset if the child does not crash within this duration.
    • withManualReset

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withManualReset()
      Description copied from interface: ExtendedBackoffOptions
      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).
      Specified by:
      withManualReset in interface ExtendedBackoffOptions<T>
    • withSupervisorStrategy

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withSupervisorStrategy(OneForOneStrategy supervisorStrategy)
      Description copied from interface: ExtendedBackoffOptions
      Returns a new BackoffOptions with the supervisorStrategy.

      Specified by:
      withSupervisorStrategy in interface ExtendedBackoffOptions<T>
      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.
    • withReplyWhileStopped

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withReplyWhileStopped(Object replyWhileStopped)
      Description copied from interface: ExtendedBackoffOptions
      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.

      Specified by:
      withReplyWhileStopped in interface ExtendedBackoffOptions<T>
      Parameters:
      replyWhileStopped - The message that the supervisor will send in response to all messages while its child is stopped.
    • withHandlerWhileStopped

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withHandlerWhileStopped(ActorRef handlerWhileStopped)
      Description copied from interface: ExtendedBackoffOptions
      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.

      Specified by:
      withHandlerWhileStopped in interface ExtendedBackoffOptions<T>
      Parameters:
      handlerWhileStopped - PartialFunction of the received message and sender
    • withMaxNrOfRetries

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withMaxNrOfRetries(int maxNrOfRetries)
      Description copied from interface: ExtendedBackoffOptions
      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.

      Specified by:
      withMaxNrOfRetries in interface ExtendedBackoffOptions<T>
      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.
    • withDefaultStoppingStrategy

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withDefaultStoppingStrategy()
      Description copied from interface: BackoffOnStopOptions
      Returns a new BackoffOptions with a default SupervisorStrategy.stoppingStrategy. The default supervisor strategy is used as fallback for throwables not handled by SupervisorStrategy.stoppingStrategy.
      Specified by:
      withDefaultStoppingStrategy in interface BackoffOnStopOptions
    • withFinalStopMessage

      public BackoffOnStopOptionsImpl<scala.runtime.Nothing$> withFinalStopMessage(scala.Function1<Object,Object> action)
      Description copied from interface: BackoffOnStopOptions
      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.
      Specified by:
      withFinalStopMessage in interface BackoffOnStopOptions
    • props

      public Props props()
      Description copied from interface: ExtendedBackoffOptions
      Returns the props to create the back-off supervisor.
      Specified by:
      props in interface ExtendedBackoffOptions<T>
    • copy

      public <T> BackoffOnStopOptionsImpl<T> copy(Props childProps, String childName, scala.concurrent.duration.FiniteDuration minBackoff, scala.concurrent.duration.FiniteDuration maxBackoff, double randomFactor, scala.Option<BackoffReset> reset, OneForOneStrategy supervisorStrategy, HandlingWhileStopped handlingWhileStopped, scala.Option<scala.Function1<Object,Object>> finalStopMessage)
    • copy$default$1

      public <T> Props copy$default$1()
    • copy$default$2

      public <T> String copy$default$2()
    • copy$default$3

      public <T> scala.concurrent.duration.FiniteDuration copy$default$3()
    • copy$default$4

      public <T> scala.concurrent.duration.FiniteDuration copy$default$4()
    • copy$default$5

      public <T> double copy$default$5()
    • copy$default$6

      public <T> scala.Option<BackoffReset> copy$default$6()
    • copy$default$7

      public <T> OneForOneStrategy copy$default$7()
    • copy$default$8

      public <T> HandlingWhileStopped copy$default$8()
    • copy$default$9

      public <T> scala.Option<scala.Function1<Object,Object>> copy$default$9()
    • productPrefix

      public String productPrefix()
      Specified by:
      productPrefix in interface scala.Product
    • productArity

      public int productArity()
      Specified by:
      productArity in interface scala.Product
    • productElement

      public Object productElement(int x$1)
      Specified by:
      productElement in interface scala.Product
    • productIterator

      public scala.collection.Iterator<Object> productIterator()
      Specified by:
      productIterator in interface scala.Product
    • canEqual

      public boolean canEqual(Object x$1)
      Specified by:
      canEqual in interface scala.Equals
    • productElementName

      public String productElementName(int x$1)
      Specified by:
      productElementName in interface scala.Product
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object x$1)
      Specified by:
      equals in interface scala.Equals
      Overrides:
      equals in class Object