Проверка доступности удаленного актера Akka

Как я могу проверить, жив ли удаленный актор, для которого я получил actRef через ActorFor? Буду признательна за любую ссылку на документацию. Я использую Akka из Scala.

Я видел ссылки на супервайзеров и Deathwatch, но не думаю, что мой вариант использования нуждается в таком тяжелом оборудовании. Я просто хочу, чтобы мой клиент проверял, использует ли мастер известный путь, и если он отправляет сообщение, представляющее себя. Если мастер не работает, он должен немного подождать, а затем повторить попытку.

Обновление 2: Предложения заключаются в том, что я просто использую тест на пинг-понг, чтобы увидеть, жив ли он. Я понимаю, что это что-то вроде

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

Возможно, это так работает, и я должен принять ошибки/предупреждения в журналах, а не попытаться защититься от них?

9
задан Pengin 23 May 2012 в 09:24
поделиться