Play框架下致命错误的正确处理方式

Correct way to handle fatal error under Play framework

如果您的 Play 应用发现它无法运行,例如因为缺少强制配置项,正确的处理方式是什么?

记录错误并 System.exit() ?或者有 "nicer" 方法吗?

根据一些研究,似乎有 is a method 用于关闭实际播放应用程序,但这不会关闭应用程序服务器(例如 Netty)(至少在开发模式下)。将它与 System.exit() 结合起来似乎通过首先处理 Play:

来执行 "safe" 关闭
play.api.Play.stop
System.exit(-1)

但在您的具体情况下对其进行测试会很有趣。

This discussion多讲了安全关机的意思,有调用Play.stop的例子

顺便说一句,Netty 似乎有 a stop method,除了 Play.stop 调用之外,它还做了其他一些事情。

警告:没有在愤怒中使用它。