This earlier question表示在主管演员上调用“停止”将关闭所有链接的演员。但是,如果创建一个“自定义”actor(而不是通过工厂),似乎不会发生此自动关闭。例如,请参阅another question的答案中的此代码:
class Module1 extends Actor {
self.faultHandler = OneForOneStrategy(List(classOf[Throwable]), 5, 5000)
def receive = {
case Register(actor) =>
self.link(actor)
}
}
如果在上面的Module1 actor上调用了'stop',则链接到它的actor不会关闭。有没有办法让自定义actor自动关闭链接的actor?或者,如果你想创建一个自定义角色,这只是你必须自己写的东西吗?
谢谢!
答案 0 :(得分:2)
您可以调用“self.linkedActors.values.iterator”,然后发送PoisonPill或停止()它们。