我试图了解演员A如何生成(一个或多个)演员B。
我已经有创建和激活Actor A的“主题”类。
我是否需要在A演员中创建类似的内容:
ActorSystem system = ActorSystem.create("my-name");
ActorRef actorB = system.actorOf(Props.create(ActorB.class));
actorB.tell("do something that A says", ActorRef.noSender());
谢谢。
最佳答案
Actor在类似于文件系统的树层次结构中创建。
如果您希望角色B位于顶层(即系统/用户的子级),则可以使用以下命令创建它:
ActorRef actorB = system.actorOf(Props.create(ActorB.class, ActorB::new));
如果要从角色A内部将B创建为A的子代,则可以在上下文中执行相同的方法:
ActorRef actorB = getContext().actorOf(Props.create(ActorB.class, ActorB::new));
一旦有了actorRef,就可以正常使用它来告诉和询问内容。