Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagescala
title기본 액터생성
class PrintMyActorRefActor extends Actor {
  override def receive: Receive = {
    case "printit" =>
      val secondRef = context.actorOf(Props.empty, "second-actor") //자식의 생성은 부모만 할수 있으나, 대리자는 메시지를 통해 생성시도만 할수가 있다. 
      println(s"Second: $secondRef")
  }
}

val firstRef = system.actorOf(Props[PrintMyActorRefActor], "first-actor")  // actorOf 는 Actor생성시 사용됩니다.
println(s"First : $firstRef")
firstRef ! "printit"   
// !는 스칼라에서 Input을 위한 키워드이며, c++의 cout >> 과 유사한 키워드 , 
//C#또는 JAVA에서는 명시적으로 firstRef.Tell("printit") 이렇게 사용하면 됩니다.


//액터 생성 순서   first-actor <= second-actor  가 parent <= child 관계가 된다.
First : Actor[akka://testSystem/user/first-actor#1053618476]
Second: Actor[akka://testSystem/user/first-actor/second-actor#-1544706041]

...