是否有一种机制可以用来杀死一个演员20秒后杀死它?
阅读http://doc.akka.io/docs/akka/snapshot/java/fault-tolerance.html上的各种SuperVisor策略
似乎杀死一个演员都是基于异常的消息传递?
您可以使用调度程序在20 秒后向actor 发送PoisonPill消息,这将在actor处理该消息时自动终止 actor; 演员中不需要额外的代码.如果你想立即杀死演员,而不是等待毒丸在消息队列中运行,那么请改用stop.
system.scheduler().scheduleOnce(Duration.create(20, TimeUnit.SECONDS),
new Runnable() {
@Override
public void run() {
testActor.tell(PoisonPill.getInstance(), ActorRef.noSender());
}
}, system.dispatcher());
Run Code Online (Sandbox Code Playgroud)