Akkaのライフサイクル
詳細
まずクラスを定義し、Actorを継承します.
次にプライマリクラスを定義し、このクラスのオブジェクトにメッセージを送信します.
Akkaのライフサイクル:まずprestartメソッドを実行し、次にreceiveメソッドを実行してメッセージを処理し、最後にactorSystemを呼び出す.shutdown()の場合postStopメソッドの実行がトリガーされます
まずクラスを定義し、Actorを継承します.
class akka001 extends Actor{
override def preStart() ={
println("this is preStart()")
}
def receive = LoggingReceive{
case "hello" => println("hello world")
}
override def postStop()={
println("this is postStop()")
}
}
次にプライマリクラスを定義し、このクラスのオブジェクトにメッセージを送信します.
/**
* Created by hyj on 17-7-3.
*/
object AkkaMain {
def main(args: Array[String]): Unit = {
val actorSystem=ActorSystem("actorSystem")
val lifecycleActor=actorSystem.actorOf(Props[cn.qzt360.akka.akka001],"testactor")
lifecycleActor!"hello"
actorSystem.shutdown()
}
}
の出力結果は次のとおりです.this is preStart()
hello world
this is postStop()
Akkaのライフサイクル:まずprestartメソッドを実行し、次にreceiveメソッドを実行してメッセージを処理し、最後にactorSystemを呼び出す.shutdown()の場合postStopメソッドの実行がトリガーされます