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

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

4
"ps -fe | grep java" 或类似命令。 - Scary Wombat
如果您发现任何提供的答案有用,请将其标记为“已接受”。 - Michal
2个回答

9
有两种方法:
1. 在系统级别 - 您可以将您的项目作为服务运行,这在官方文档 - 部署中有详细说明。然后,您可以查询应用程序状态service myapp status
2. 在应用程序级别 - 将Spring Boot Actuator包含在您的应用程序中,并使用Actuator端点,例如根据官方文档 - 生产就绪端点中的指示使用/actuator/health。这些端点可以通过HTTP或JMX公开。
注:在spring boot 2.0之前,执行器端点是/health

0
如果是一个Web项目,将spring-boot-actuator包含其中是有意义的(只需在Maven中添加依赖并启动微服务)。
在这种情况下,它将自动公开以下端点(例如,实际上可以灵活设置):
http://<HOST>:<PORT>/health

只需发出HTTP GET请求,如果收到200,则表示它正在运行。

如果不能使用执行器(虽然应该首先考虑使用),那么您可以仅通过telnet连接到http://<HOST>:<PORT>

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接