【发布时间】:2018-04-26 09:31:52
【问题描述】:
我假设一个主管 Actor 正在监督一个远程 Actor。如果远程参与者在处理请求时失败,是否有任何方法可以重新启动远程参与者。如果不可能,任何人都可以建议我解决这个问题的方法。 提前谢谢你。
【问题讨论】:
标签: akka akka-remote-actor akka-remoting
我假设一个主管 Actor 正在监督一个远程 Actor。如果远程参与者在处理请求时失败,是否有任何方法可以重新启动远程参与者。如果不可能,任何人都可以建议我解决这个问题的方法。 提前谢谢你。
【问题讨论】:
标签: akka akka-remote-actor akka-remoting
只需在父actor上设置重启监督策略即可。远程部署子演员并不重要。 https://doc.akka.io/docs/akka/current/fault-tolerance.html#creating-a-supervisor-strategy
【讨论】:
val actorList:List[ActorRef] = List.fill(10)( context.actorOf(Child.props, "child") ) 创建一个包含 10 个演员的列表
context.stop(self)。然后在 postStop() 方法中,我抛出了一个自定义异常。我的监督策略是 def one: SupervisorStrategy = { OneForOneStrategy(maxNrOfRetries = 5, withinTimeRange = 10 seconds) { case _:customException => Restart } } 我的子演员没有重新启动。你能告诉我这个错误吗?