Package akka.actor
Class OneForOneStrategy
- java.lang.Object
-
- akka.actor.SupervisorStrategy
-
- akka.actor.OneForOneStrategy
-
- All Implemented Interfaces:
java.io.Serializable
,scala.Equals
,scala.Product
- Direct Known Subclasses:
ClusterMetricsStrategy
public class OneForOneStrategy extends SupervisorStrategy implements scala.Product, java.io.Serializable
Applies the fault handlingDirective
(Resume, Restart, Stop) specified in theDecider
to the child actor that failed, as opposed toAllForOneStrategy
that applies it to all children.param: maxNrOfRetries the number of times a child actor is allowed to be restarted, negative value means no limit if the duration is infinite. 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
SupervisorStrategy.Directive
, you can also use aSeq
of 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 akka.actor.SupervisorStrategy
SupervisorStrategy.Directive, SupervisorStrategy.Escalate$, SupervisorStrategy.Restart$, SupervisorStrategy.Resume$, SupervisorStrategy.Stop$
-
-
Constructor Summary
Constructors Constructor Description OneForOneStrategy(boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
OneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java APIOneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)
Java APIOneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)
Java APIOneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API: compatible with lambda expressionsOneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
OneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java APIOneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)
Java APIOneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)
Java APIOneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API: compatible with lambda expressionsOneForOneStrategy(scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API: Restart an infinite number of times.
-
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 OneForOneStrategy
apply(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
static int
apply$default$1()
static scala.concurrent.duration.Duration
apply$default$2()
static boolean
apply$default$3()
boolean
canEqual(java.lang.Object x$1)
OneForOneStrategy
copy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
int
copy$default$1()
scala.concurrent.duration.Duration
copy$default$2()
boolean
copy$default$3()
scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive>
decider()
Returns the Decider that is associated with this SupervisorStrategy.boolean
equals(java.lang.Object x$1)
void
handleChildTerminated(ActorContext context, ActorRef child, scala.collection.Iterable<ActorRef> children)
This method is called after the child has been removed from the set of children.int
hashCode()
boolean
loggingEnabled()
Logging of actor failures is done when this istrue
.int
maxNrOfRetries()
void
processFailure(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.int
productArity()
java.lang.Object
productElement(int x$1)
java.lang.String
productElementName(int x$1)
scala.collection.Iterator<java.lang.Object>
productIterator()
java.lang.String
productPrefix()
java.lang.String
toString()
static scala.Option<scala.Tuple3<java.lang.Object,scala.concurrent.duration.Duration,java.lang.Object>>
unapply(OneForOneStrategy x$0)
scala.concurrent.duration.Duration
withinTimeRange()
OneForOneStrategy
withMaxNrOfRetries(int maxNrOfRetries)
-
Methods inherited from class akka.actor.SupervisorStrategy
defaultDecider, defaultStrategy, escalate, handleFailure, logFailure, makeDecider, makeDecider, makeDecider, makeDecider, restart, restart, restartChild, resume, resume, resumeChild, seqCauseDirective2Decider, seqThrowable2Decider, stop, stop, stoppingStrategy
-
-
-
-
Constructor Detail
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)
Java API
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider, boolean loggingEnabled)
Java API
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, Function<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)
Java API
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, java.lang.Iterable<java.lang.Class<? extends java.lang.Throwable>> trapExit)
Java API
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, scala.concurrent.duration.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API: compatible with lambda expressions
-
OneForOneStrategy
public OneForOneStrategy(int maxNrOfRetries, java.time.Duration withinTimeRange, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API: compatible with lambda expressions
-
OneForOneStrategy
public OneForOneStrategy(boolean loggingEnabled, scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
-
OneForOneStrategy
public OneForOneStrategy(scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider)
Java API: Restart an infinite number of times. 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 OneForOneStrategy 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(OneForOneStrategy x$0)
-
maxNrOfRetries
public int maxNrOfRetries()
-
withinTimeRange
public scala.concurrent.duration.Duration withinTimeRange()
-
loggingEnabled
public boolean loggingEnabled()
Description copied from class:SupervisorStrategy
Logging of actor failures is done when this istrue
.- Overrides:
loggingEnabled
in classSupervisorStrategy
-
decider
public scala.PartialFunction<java.lang.Throwable,SupervisorStrategy.Directive> decider()
Description copied from class:SupervisorStrategy
Returns the Decider that is associated with this SupervisorStrategy. The Decider is invoked by the default implementation ofhandleFailure
to obtain the Directive to be applied.- Specified by:
decider
in classSupervisorStrategy
-
withMaxNrOfRetries
public OneForOneStrategy withMaxNrOfRetries(int maxNrOfRetries)
-
handleChildTerminated
public void handleChildTerminated(ActorContext context, ActorRef child, scala.collection.Iterable<ActorRef> children)
Description copied from class:SupervisorStrategy
This 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:
handleChildTerminated
in 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:SupervisorStrategy
This method is called to act on the failure of a child: restart if the flag is true, stop otherwise.- Specified by:
processFailure
in classSupervisorStrategy
-
copy
public OneForOneStrategy 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:
productPrefix
in interfacescala.Product
-
productArity
public int productArity()
- Specified by:
productArity
in interfacescala.Product
-
productElement
public java.lang.Object productElement(int x$1)
- Specified by:
productElement
in interfacescala.Product
-
productIterator
public scala.collection.Iterator<java.lang.Object> productIterator()
- Specified by:
productIterator
in interfacescala.Product
-
canEqual
public boolean canEqual(java.lang.Object x$1)
- Specified by:
canEqual
in interfacescala.Equals
-
productElementName
public java.lang.String productElementName(int x$1)
- Specified by:
productElementName
in interfacescala.Product
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object x$1)
- Specified by:
equals
in interfacescala.Equals
- Overrides:
equals
in classjava.lang.Object
-
-