Supervision
Akka的Actor只能由其他 的Actor创建 ,而顶部的Actor由库来揭幕。每一个创建出来的Actor只能由它的创建者监管。在Actor System启动时,至少会启动3个Actor:
- “/"根监管:在路径树的最顶部,所有的Actor都可以通过它来找到。
- ”/user“user监管:在路径树的第二层。是所有由用户创建的顶级Actor的监管者,即用ActorSystem.actorOf创建的Actor的监管者。
- ”/system“system监管:在路径树的第二层。是所有由系统创建的顶级Actor(如日志监听或配置指定在Actor系统启动时自动 部署的Actor)的监管者
其他在路径树二层的监管还有:
- ”/temp“:是所有系统创建的临时Actor(如用在ActorRef.ask的实现中的Actor)的监管
- "/remote"是一个人造的路径,用来存放所有其监管者是远程Actor引用的Actor
Monitoring
生命周期监控是向监控Actor发送Terminated消息。如果没有处理,默认抛出一个DeathpactException。Monitoring对于监控器要结束子Actor但是双不能够简单地重启Actor这种场景特别有用。