【问题标题】:Spring Boot Application Deployment - Shutdown Hook - Gradle PluginSpring Boot 应用部署 - 关闭挂钩 - Gradle 插件
【发布时间】: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


    【解决方案1】:

    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?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-16
      • 2022-08-04
      • 2019-03-23
      • 2017-12-30
      • 2014-12-27
      • 2017-01-04
      • 2019-02-02
      • 1970-01-01
      相关资源
      最近更新 更多