Ho scritto codice di esempio che avvia un attore, lo uccide e termina l'esecuzione.terminano correttamente gli attori akka in scala
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
}
}
Questo codice stampa:
[info] prestart
[info] poststop
Ma rifiuta di fermarsi fino a quando uccido il processo con Ctrl-C
Cosa significa applicazione attendere? Come posso fermarlo in modo corretto?
La documentazione di Akka può aiutare dove dice 'context.stop' in http://doc.akka.io/api/akka/2.0.3/#akka.actor.Actor. –