アクターを開始し、それを強制終了して実行を終了するサンプルコードを作成しました。
object PureAkka {
def main(argv : Array[String]) = {
val actorSystem : ActorSystem = ActorSystem("main")
val actor : ActorRef = actorSystem.actorOf(Props( new Actor {
override def receive = {
case x => println(x)
}
override def preStart() = println("prestart")
override def postStop() = println("poststop")
} ) )
Thread.sleep(15000)
actor ! PoisonPill
}
}
このコードは次のように出力します。
[info] prestart
[info] poststop
しかし、Ctrl-Cでプロセスを強制終了するまで停止を拒否します
アプリケーションは何を待ちますか?どうすれば適切な方法でそれを止めることができますか?