Package org.apache.pekko.actor
Class AllForOneStrategy
- java.lang.Object
-
- org.apache.pekko.actor.SupervisorStrategy
-
- org.apache.pekko.actor.AllForOneStrategy
-
- All Implemented Interfaces:
java.io.Serializable,scala.Equals,scala.Product
public class AllForOneStrategy extends SupervisorStrategy implements scala.Product, java.io.Serializable
Applies the fault handlingDirective(Resume, Restart, Stop) specified in theDeciderto all children when one fails, as opposed topekko.actor.OneForOneStrategythat applies it only to the child actor that failed.param: 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 param: withinTimeRange duration of the time window for maxNrOfRetries, Duration.Inf means no window param: decider mapping from Throwable to
pekko.actor.SupervisorStrategy.Directive, you can also use aSeqof Throwables which maps the given Throwables to restarts, otherwise escalates. param: loggingEnabled the strategy logs the failure if this is enabled (true), by default it is enabled- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.pekko.actor.SupervisorStrategy
SupervisorStrategy.Directive, SupervisorStrategy.Escalate$, SupervisorStrategy.Restart$, SupervisorStrategy.Resume$, SupervisorStrategy.Stop$
-
-
Constructor Summary
Constructors Constructor Description AllForOneStrategy(boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API: compatible with lambda expressionsAllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)Java APIAllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java APIAllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)Java APIAllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API: compatible with lambda expressionsAllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)AllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)Java APIAllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java APIAllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)Java APIAllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API: compatible with lambda expressionsAllForOneStrategy(scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API: compatible with lambda expressions
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int$lessinit$greater$default$1()static scala.concurrent.duration.Duration$lessinit$greater$default$2()static boolean$lessinit$greater$default$3()static AllForOneStrategyapply(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)static intapply$default$1()static scala.concurrent.duration.Durationapply$default$2()static booleanapply$default$3()booleancanEqual(java.lang.Object x$1)AllForOneStrategycopy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)intcopy$default$1()scala.concurrent.duration.Durationcopy$default$2()booleancopy$default$3()scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive>decider()Returns the Decider that is associated with this SupervisorStrategy.booleanequals(java.lang.Object x$1)voidhandleChildTerminated(ActorContext context, ActorRef child, scala.collection.Iterable<ActorRef> children)This method is called after the child has been removed from the set of children.inthashCode()booleanloggingEnabled()Logging of actor failures is done when this istrue.intmaxNrOfRetries()voidprocessFailure(ActorContext context, boolean restart, ActorRef child, java.lang.Throwable cause, ChildRestartStats stats, scala.collection.Iterable<ChildRestartStats> children)This method is called to act on the failure of a child: restart if the flag is true, stop otherwise.intproductArity()java.lang.ObjectproductElement(int x$1)java.lang.StringproductElementName(int x$1)scala.collection.Iterator<java.lang.Object>productIterator()java.lang.StringproductPrefix()java.lang.StringtoString()static scala.Option<scala.Tuple3<java.lang.Object,scala.concurrent.duration.Duration,java.lang.Object>>unapply(AllForOneStrategy x$0)scala.concurrent.duration.DurationwithinTimeRange()-
Methods inherited from class org.apache.pekko.actor.SupervisorStrategy
defaultDecider, defaultStrategy, escalate, handleFailure, logFailure, makeDecider, makeDecider, makeDecider, makeDecider, restart, restart, restartChild, resume, resume, resumeChild, seqCauseDirective2Decider, seqThrowable2Decider, stop, stop, stoppingStrategy
-
-
-
-
Constructor Detail
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)Java API
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)Java API
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)Java API
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)Java API
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API: compatible with lambda expressions
-
AllForOneStrategy
public AllForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API: compatible with lambda expressions
-
AllForOneStrategy
public AllForOneStrategy(boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)Java API: compatible with lambda expressions
-
AllForOneStrategy
public AllForOneStrategy(scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API: compatible with lambda expressions
-
-
Method Detail
-
$lessinit$greater$default$1
public static int $lessinit$greater$default$1()
-
$lessinit$greater$default$2
public static scala.concurrent.duration.Duration $lessinit$greater$default$2()
-
$lessinit$greater$default$3
public static boolean $lessinit$greater$default$3()
-
apply
public static AllForOneStrategy apply(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
-
apply$default$1
public static int apply$default$1()
-
apply$default$2
public static scala.concurrent.duration.Duration apply$default$2()
-
apply$default$3
public static boolean apply$default$3()
-
unapply
public static scala.Option<scala.Tuple3<java.lang.Object,scala.concurrent.duration.Duration,java.lang.Object>> unapply(AllForOneStrategy x$0)
-
maxNrOfRetries
public int maxNrOfRetries()
-
withinTimeRange
public scala.concurrent.duration.Duration withinTimeRange()
-
loggingEnabled
public boolean loggingEnabled()
Description copied from class:SupervisorStrategyLogging of actor failures is done when this istrue.- Overrides:
loggingEnabledin classSupervisorStrategy
-
decider
public scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider()
Description copied from class:SupervisorStrategyReturns the Decider that is associated with this SupervisorStrategy. The Decider is invoked by the default implementation ofhandleFailureto obtain the Directive to be applied.- Specified by:
deciderin classSupervisorStrategy
-
handleChildTerminated
public void handleChildTerminated(ActorContext context, ActorRef child, scala.collection.Iterable<ActorRef> children)
Description copied from class:SupervisorStrategyThis method is called after the child has been removed from the set of children. It does not need to do anything special. Exceptions thrown from this method do NOT make the actor fail if this happens during termination.- Specified by:
handleChildTerminatedin classSupervisorStrategy
-
processFailure
public void processFailure(ActorContext context, boolean restart, ActorRef child, java.lang.Throwable cause, ChildRestartStats stats, scala.collection.Iterable<ChildRestartStats> children)
Description copied from class:SupervisorStrategyThis method is called to act on the failure of a child: restart if the flag is true, stop otherwise.- Specified by:
processFailurein classSupervisorStrategy
-
copy
public AllForOneStrategy copy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
-
copy$default$1
public int copy$default$1()
-
copy$default$2
public scala.concurrent.duration.Duration copy$default$2()
-
copy$default$3
public boolean copy$default$3()
-
productPrefix
public java.lang.String productPrefix()
- Specified by:
productPrefixin interfacescala.Product
-
productArity
public int productArity()
- Specified by:
productArityin interfacescala.Product
-
productElement
public java.lang.Object productElement(int x$1)
- Specified by:
productElementin interfacescala.Product
-
productIterator
public scala.collection.Iterator<java.lang.Object> productIterator()
- Specified by:
productIteratorin interfacescala.Product
-
canEqual
public boolean canEqual(java.lang.Object x$1)
- Specified by:
canEqualin interfacescala.Equals
-
productElementName
public java.lang.String productElementName(int x$1)
- Specified by:
productElementNamein interfacescala.Product
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object x$1)
- Specified by:
equalsin interfacescala.Equals- Overrides:
equalsin classjava.lang.Object
-
-