【发布时间】:2018-09-03 08:14:08
【问题描述】:
我们正在使用 gradle 开发一个 Spring Boot 和 Spring Batch 应用程序。我们将在 linux 环境中部署此应用程序。
我们正在使用 distTar 通过应用程序插件生成一个 tar。
我们注册一个关闭钩子来关闭上下文并在应用程序关闭之前做一些其他的事情。
当我们从 eclipse 作为 Spring Boot Application 运行应用程序时,shutdown hook 正在执行,但是当我们在 linux 上使用 gradle 插件生成的启动脚本运行它时,shutdown hook 没有执行。
我们如何在生产 linux 环境中部署 Spring Boot 应用程序? 如何确保关闭钩子正在执行。
当我说它不执行时,当我执行 CTRC+C 或 kill -9 时,关闭钩子中的语句和使用 @PreDestroy 方法注释的方法不会打印/执行。
寻找通过关闭上下文来正常关闭应用程序的选项。
【问题讨论】:
标签: java spring spring-boot gradle deployment