检查Spring Boot应用程序是否正在运行

时间:2018-09-12 07:02:42

标签: java spring spring-boot deployment scripting

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

2 个答案:

答案 0 :(得分:3)

有两种方法

  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

答案 1 :(得分:0)

如果它是一个Web项目,则包含spring-boot-actuator(只要在maven中添加一个依赖项并启动微服务)就很有意义。

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

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

只需发出HTTP GET请求,如果您收到200,则它已启动并正在运行。

如果不能选择使用执行器(尽管应该首先解决),那么您只能通过telnet到http://<HOST>:<PORT>

造成这种情况的比率是,只有在真正启动应用程序上下文之后,PORT才公开并准备“侦听”外部连接。