akka/akka-core
Ver no GitHubImprove Documentation on Creating a Supervisor Strategy [Java]
Open
#16.729 aberto em 27 de jan. de 2015
1 - triagedhelp wantedt:docs
Métricas do repositório
- Stars
- (13.277 stars)
- Métricas de merge de PR
- (Mesclagem média 17h 35m) (11 fundiu PRs em 30d)
Description
Regarding http://doc.akka.io/docs/akka/snapshot/java/fault-tolerance.html: The code samples don't compile out-of-the-box. Also, the documentation should say how the default strategy (http://doc.akka.io/docs/akka/snapshot/java/fault-tolerance.html#Default_Supervisor_Strategy) is implemented, so when you start implementing your own strategy, you can start from there.
Here's what I suppose is a working replica in Java of the default implementation:
new OneForOneStrategy(-1, Duration.Inf(), new Function<Throwable, SupervisorStrategy.Directive>() {
@Override
public SupervisorStrategy.Directive apply(final Throwable throwable) throws Exception {
if (throwable instanceof ActorInitializationException) {
return SupervisorStrategy.stop();
} else if (throwable instanceof ActorKilledException) {
return SupervisorStrategy.stop();
} else if (throwable instanceof DeathPactException) {
return SupervisorStrategy.stop();
} else if (throwable instanceof Exception) {
return SupervisorStrategy.restart();
} else {
return SupervisorStrategy.escalate();
}
}
}, true);