在actor系统层次结构中,documentation表示存在地址为/user
的监护人actor,而使用system.actorOf()
创建的actor是该actor的子级。
是否可以查询演员系统以获取守护演员的“当前”子级?如果是这样,这是如何实现的?
答案 0 :(得分:4)
您可以对符合该选择的所有actor使用通配符actor选择和特殊Identify
消息。要查找演员/user
的直接子项,请执行以下操作:
system.actorSelection("/user/*") ! Identify(None)
如果要在层次结构中找到所有子项,则必须通过为每个actorSelection
接收创建子通配符ActorRef
来手动下降树。
所有这一点的警告是,这种识别是异步的,你无法知道所有孩子何时识别出自己。您可以做的最好的事情是设定一个时间限制,之后您假设所有孩子都向您报告过。