我有一个父母演员和孩子。每个小孩演员控制一个设备。当我创建它们时,我会为所有的小孩演员提供一个uuid。Akka:如何删除儿童演员
每一个儿童演员是由设备配置,创造了当时的配置改变,我想重新由演员:
停止旧之一:
最终未来停止= gracefulStop( actorRef,Duration.create(1,TimeUnit.SECONDS)); Await.result(stopped,Duration.create(1,TimeUnit.SECONDS));
重新创建一个新的:
context.actorOf(Props.create( GateActor.class, () - >新GateActor(hardwareRouterActorRef,设置)), settings.getUuid())
但它抛出一个异常: akka.actor.InvalidActorNameException: actor name [6237255c-851b-47d2-ac31-03c7635e6537] is not unique!
我觉得gracefulStop代码不消除孩子的演员,我的问题是:我怎么能删除这个孩子的演员?
我也试图通过PoisonPill除去演员:
actorRef.tell(PoisonPill.getInstance(), getSelf());