Ich bin neu bei akka und ich frage mich, wie man einen Kind Schauspieler erhalten Nachrichten erhalten.Ich kann keinen Kind Schauspieler bekommen Nachrichten zu erhalten
Ich habe einen übergeordneten Akteur, der ausgibt, dass er eine Nachricht empfangen hat, und sendet dann eine Nachricht an sein Kind, das dann ausgibt, dass es eine Nachricht empfangen hat.
Wenn ich das Programm ausführen, nur der übergeordnete Akteur druckt seine Nachricht. Gibt es etwas, das ich vermisse?
Die Mutter Schauspieler
class TestDirector(name: String) extends Actor {
import TestDirector._
implicit val timeout = Timeout(5.seconds)
private var child: ActorRef = _
override def preStart(): Unit = {
println(name + " pre-start")
child = context.actorOf(props("test-file"), name = "child-actor")
}
override def receive: Receive = {
case TestDirectory(dir) =>
println("Test Director")
child ! TestWorker.TestFile
}
}
object TestDirector {
case class TestDirectory(dirName: String)
case class TestResponse(message: String)
def props(dirName: String) = Props(classOf[TestDirector], dirName)
}
Das Kind Schauspieler
class TestWorker(fileName: String) extends Actor {
import TestWorker._
override def receive: Receive = {
case TestFile => println("Hello world")
}
}
object TestWorker {
case object TestFile
def props(fileName: String) = Props(classOf[TestWorker], fileName)
}
yep, dass es, dumme Fehler festgelegt, danke :) – Will