【问题标题】:checking whether spring boot application is running or not检查 Spring Boot 应用程序是否正在运行
【发布时间】:2019-02-16 17:54:30
【问题描述】:

我创建了一个 spring boot 项目并将其部署在一个 vm 上。我在 local.rc 中添加了一个命令,该命令在重新启动时启动 spring boot 应用程序。我想检查命令是否已执行并且应用程序是否正在运行。我该怎么做?

【问题讨论】:

标签: java spring spring-boot deployment scripting


【解决方案1】:

有两种方法

  1. 在系统级别 - 您可以将项目作为服务运行,该服务记录在 Official documentation - Deployments 中。然后可以查询申请状态service myapp status

  2. 在应用程序级别 - 在您的应用程序中包含 Spring Boot Actuator 并按照 Official documentation - Production Ready Endpoints 使用 Actuator 端点,例如 /actuator/health。这些端点可以通过HTTP or JMX 公开。

注意:在 spring boot 2.0 之前,执行器端点是 /health

【讨论】:

    【解决方案2】:

    如果是 web 项目,包含 spring-boot-actuator 是有意义的(只需在 maven 中添加依赖并启动微服务)。

    在这种情况下,它会自动暴露以下端点(例如,它实际上可以灵活设置):

    http://<HOST>:<PORT>/health
    

    只需发出一个 HTTP GET 请求,如果你得到 200 - 它就会启动并运行。

    如果不能选择使用执行器(尽管它确实应该作为第一个赌注解决),那么您只能远程登录到http://&lt;HOST&gt;:&lt;PORT&gt;

    这背后的比例是,只有在应用程序上下文真正启动后,该 PORT 才会公开并准备好“监听”外部连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-10
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多