演员B和C按以下方式创建:
ActorRef actorB = this.getContext().actorOf(Props.create(ActorB.class, t));
actorB.tell(new msg, getSelf());
ActorRef actorC = this.getContext().actorOf(Props.create(ActorC.class, t));
actorC.tell(new anothermsg, getSelf());
如何确保在每个参与者完成任务后拆除此层次结构?
我是否向演员B和C发送了明确的poisonPill消息? 或者这会被照顾吗?
答案 0 :(得分:1)
如果您希望B和C独立于A停止,那么最简单的方法是让他们在作业完成后调用context stop self
。 A可以通过以下方式向他们注册 - 例如, - context watch b
。
如果,否则,您希望整个层次结构同时停止 - 即当A终止时 - 那么您只需要停止A,因为它的所有子项将因此自动停止。
有关该主题的更全面的报道,请参阅here。