我正在为持久 Actor 编写测试。所以问题是,在测试期间 Actor 失败,然后自动重新启动,一次又一次失败,一次又一次重新启动......这个循环导致构建过程缓慢和巨大的日志文件(大约 50 Mb,当正常大小小于 1Mb 时) 。
那么当它失败时我如何禁用自动重启actor(仅用于测试和调试过程)?哪些设置参数对此负责?
最佳答案
处理失败 Actor 的政策由supervisor strategy规定。 Actor 的导师。
supervisor是启动actor的actor。在主管中覆盖 supervisorStrategy
:
override val supervisorStrategy = OneForOneStrategy() { case _ => Stop }
或者如果是顶级 Actor 的话,主管就是user guardian 。您可以使用 akka.actor.guardian-supervisor-strategy
配置选项(指定 SupervisorStrategyConfigurator
的类名)来配置用户监护人的策略。
关于scala - 如何禁用 Actor 恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25459694/