Java Spring Boot应用程序部署-关机挂钩-Gradle插件

Java Spring Boot应用程序部署-关机挂钩-Gradle插件,java,spring,spring-boot,gradle,deployment,Java,Spring,Spring Boot,Gradle,Deployment,我们正在使用gradle开发spring引导和spring批处理应用程序。我们将在linux环境中部署此应用程序 我们正在使用distTar生成一个使用应用程序插件的tar 我们注册一个shutdownhook来关闭上下文,并在关闭应用程序之前执行一些其他操作 当我们从eclipse作为Spring Boot应用程序运行应用程序时,关闭钩子正在执行,但当我们在linux上使用gradle插件生成的启动脚本运行应用程序时,关闭钩子没有执行 我们如何在生产linux环境中部署spring boot应

我们正在使用gradle开发spring引导和spring批处理应用程序。我们将在linux环境中部署此应用程序

我们正在使用distTar生成一个使用应用程序插件的tar

我们注册一个shutdownhook来关闭上下文,并在关闭应用程序之前执行一些其他操作

当我们从eclipse作为Spring Boot应用程序运行应用程序时,关闭钩子正在执行,但当我们在linux上使用gradle插件生成的启动脚本运行应用程序时,关闭钩子没有执行

我们如何在生产linux环境中部署spring boot应用程序? 如何确保正在执行关闭挂钩

当我说它不执行时,当我执行CTRC+C或kill-9时,shutdown钩子中的语句和用@PreDestroy方法注释的方法不会被打印/执行


正在寻找通过关闭上下文来优雅地关闭应用程序的选项。

kill-s TERM PID这起作用了,关闭钩子被执行了

有关stackoverflow的以下文章/问题中提供了更多选项和信息: