+act - 15757 - Reworks implementation of ActorSystem shutdown

* deprecates awaitTermination, shutdown and isTerminated
  * introduces a terminate-method that returns a Future[Unit]
  * introduces a whenTerminated-method that returns a Future[Unit]
  * simplifies the implementation by removing blocking constructs
  * adds tests for terminate() and whenTerminated
This commit is contained in:
Viktor Klang 2014-08-25 15:49:28 +02:00
parent 3ca27a54ad
commit cd8e97c060
51 changed files with 183 additions and 169 deletions

View file

@ -22,7 +22,6 @@ import com.typesafe.config.ConfigFactory;
import static akka.japi.Util.classTag;
import static akka.actor.SupervisorStrategy.resume;
import static akka.actor.SupervisorStrategy.restart;
import static akka.actor.SupervisorStrategy.stop;
import static akka.actor.SupervisorStrategy.escalate;
@ -76,12 +75,12 @@ public class FaultHandlingDocSample {
log.info("Current progress: {} %", progress.percent);
if (progress.percent >= 100.0) {
log.info("That's all, shutting down");
getContext().system().shutdown();
getContext().system().terminate();
}
} else if (msg == ReceiveTimeout.getInstance()) {
// No progress within 15 seconds, ServiceUnavailable
log.error("Shutting down due to unavailable service");
getContext().system().shutdown();
getContext().system().terminate();
} else {
unhandled(msg);
}

View file

@ -28,7 +28,7 @@ public class EchoServer {
watcher.tell(ackServer, ActorRef.noSender());
latch.await(10, TimeUnit.MINUTES);
} finally {
system.shutdown();
system.terminate();
}
}