Java 检查spring引导应用程序是否正在运行

Java 检查spring引导应用程序是否正在运行,java,spring,spring-boot,deployment,scripting,Java,Spring,Spring Boot,Deployment,Scripting,我已经创建了一个spring启动项目,并将其部署在vm上。我在local.rc中添加了一个命令,在重新启动时启动spring引导应用程序。我想检查命令是否已执行,应用程序是否正在运行。我该怎么做?有两种方法 在系统级-您可以将项目作为服务运行,这在中有记录。然后您可以查询应用程序状态服务myapp状态 在应用程序级别-在应用程序中包括Spring Boot Actuator,并根据使用执行器端点,如/Actuator/health。这些端点可以通过公开 注意:在spring boot 2.0之前

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

有两种方法

  • 在系统级-您可以将项目作为服务运行,这在中有记录。然后您可以查询应用程序状态
    服务myapp状态

  • 在应用程序级别-在应用程序中包括Spring Boot Actuator,并根据使用执行器端点,如
    /Actuator/health
    。这些端点可以通过公开


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

    如果它是一个web项目,包含spring boot执行器是有意义的(只需在maven中添加一个依赖项并启动微服务)

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

    http://:/health
    
    只要发出一个HTTPGET请求,如果得到200,它就可以启动并运行了

    如果使用促动器不是一个选项(尽管它实际上应该作为第一次下注),那么您只能通过telnet连接到
    http://:


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

    ps-fe | grep java
    或其他一些如果您发现提供的任何答案都有用,请
    http://<HOST>:<PORT>/health