Unter der Akka-Hierarchie befindet sich ein Eltern-Kind, bei dem der Elternteil eine Nachricht an das Kind sendet und das Kind mit Wert 1 antwortet. Aber der Elternteil scheint den Wert nicht zu empfangen, da die Nachricht "Empfangen ist 1 "wird nicht auf Konsole gedruckt.Akka-Elternteil, der keine Nachricht von Kind erhält
Ist meine Hierarchie richtig eingerichtet? :
import akka.actor.Actor
import akka.actor.ActorSystem
import akka.actor.Props
class ChildActor extends Actor {
def receive = {
case receivedValue: Int => {
println(receivedValue);
context.parent ! 1
}
}
}
object ParentChild extends App {
val system = ActorSystem()
val parentActor = system.actorOf(Props[ParentActor])
class ParentActor extends Actor {
val childActor = system.actorOf(Props[ChildActor])
childActor ! 1
def receive = {
case v: Int => println("received is " + v);
}
}
}
Wohin senden Sie eine Nachricht an Child actor? – curious
Das Problem ist Kind Schauspieler ist nicht wirklich Kind des Elternteils, ein Schauspieler wird nicht ein Kind Schauspieler nur eine Referenz in Eltern erstellen, müssen Sie tatsächlich eine Referenz im Kontext der Eltern erstellen. Anstatt 'system.actorOf (Props [ChildActor])' müssen Sie 'context.actorOf (Props [ChildActor])' 'ausführen. – curious
@curious, das funktioniert, wenn in Antwort gesetzt wird nicht akzeptieren –