如何检查我通过actorFor获得actorRef的远程演员是否还活着?任何对文档的引用将不胜感激。我正在使用来自 Scala 的 Akka。
我见过对主管和死亡守望者的引用,但并不觉得我的用例需要这么重的机器。我只想让我的客户检查主人是否使用已知路径启动,以及它是否正在发送一条自我介绍的消息。如果主服务器没有启动,那么它应该等待一段时间然后重试。
更新 2: 建议我只是使用 ping-pong ask 测试来查看它是否还活着。我理解这类似于
implicit val timeout = Timeout(5 seconds)
val future = actor ? AreYouAlive
try{
Await.result(future, timeout.duration)
}catch{
case e:AskTimeoutException => println("It's not there: "+e)
}
我想我对日志中存在的异常感到困惑,这些异常现在仍然存在。例如
- 错误:java.net.ConnectException:连接被拒绝
- 错误:java.nio.channels.ClosedChannelException:null
也许这就是它的工作原理,我必须接受日志中的错误/警告,而不是试图防止它们?