致命异常后自动重启Spring Boot应用程序

时间:2014-12-10 12:44:31

标签: java spring spring-boot

node.js世界中,有Supervisor这样的应用程序 - 它是一个守护程序进程,用于检查您的应用程序是否正在运行,如果没有(关闭,崩溃),它会立即重新启动它。这是一种非常好的临时处理生产中关键错误的方法,当一个功能可能失败时,系统的其余部分仍在运行。

我来自PHP背景,你需要做的就是在浏览器中按下back按钮,当某些内容被破坏时。

如何在Spring Boot中实现此行为?到目前为止,我注意到当app面临未处理的异常时,它会崩溃,整个服务器都会崩溃。我知道那些错误应该是应该尽快修复的错误,但有时它只是不可能,系统需要运行。 是否有任何工具可以像Node.js supervisor一样工作?

1 个答案:

答案 0 :(得分:1)

在过去,我有时使用Java Wrapper by Tanuki,效果很好。否则你可以选择监视进程并在失败时自动重启(取决于你的系统环境)或者你应用程序的最高级别捕获Throwable,这不是一个好主意,因为你会抓到致命的通过打算应该杀死你的jvm执行的情况,例如内存不足...