我们正在使用gradle开发弹簧靴和弹簧批量应用程序。我们将在Linux环境中部署此应用程序。
我们正在使用distTar使用应用程序插件生成tar。
我们注册一个关闭钩子来关闭上下文并在应用程序关闭之前做一些其他的事情。
当我们从eclipse运行应用程序作为Spring Boot应用程序时,关闭挂钩正在执行,但是当我们使用gradle插件生成的启动脚本在linux上运行它时,关闭挂钩不会执行。
我们如何在生产Linux环境中部署spring boot应用程序? 如何确保正在执行关闭挂钩。
当我说它没有执行时,当我执行CTRC + C或kill -9时,关闭钩子中的语句和使用@PreDestroy方法注释的方法不会被打印/执行。
通过关闭上下文来查找正常关闭应用程序的选项。
答案 0 :(得分:0)
kill -s TERM PID这个工作并且关闭钩子被执行了。
有关stackoverflow的以下文章/问题中提供了更多选项和信息: How to stop java process gracefully? How to shutdown a Spring Boot Application in a correct way? How to shutdown a Spring Boot Application in a correct way?