2
演員失敗時,我需要將失敗的原因發送給其他演員。演員終止的原因或如何處理錯誤
我知道有監督策略,我使用它們。問題是 - 我找不到這種錯誤報告的正確位置。 我試着看演員,但終止消息不提供終止的原因。 目前,我說的錯誤在決勝盤處理:
override def supervisorStrategy: SupervisorStrategy =
OneForOneStrategy(maxNrOfRetries = 10, withinTimeRange = Duration(1, TimeUnit.SECONDS), loggingEnabled = true) {
case e: Exception =>
onActorError(sender(), e)
Stop
}
但我認爲這是不這樣做,「決策者」應該返回的戰略,而不是隱式做別的事情的好時間和地點。
所以問題是:是否有一個適當的地方來捕捉演員異常並做一些事情呢?
演員已停止,未重新啓動。所以postRestart可能永遠不會被稱爲 –
postStop應該在stop()之後被調用,不管.. –
是的,但是postStop沒有參數...所以沒有辦法確定在這個點停止的原因 –