弹簧启动执行器" / health"不管用

时间:2017-06-20 10:04:56

标签: spring-boot spring-boot-actuator

我有一个正在运行的Springboot应用程序,它为URL http://localhost:8081/topics提供服务,并按预期返回JSON响应。

我添加了执行器依赖性 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <scope>test</scope> </dependency>

tutorial

中所述

但是当我点击http://localhost:8081/health时,它没有给出预期的结果。它说

{ "timestamp": 1497952368055, "status": 404, "error": "Not Found", "message": "No message available", "path": "/health" }

Spring引导版本是1.5.4.RELEASE。和Java 1.8 我还需要做哪些其他设置?

5 个答案:

答案 0 :(得分:8)

在Spring Boot 2.0.0中,您必须使用/actuator/health 并在application.properties文件中添加以下行:

management.endpoint.health.show-details=always

答案 1 :(得分:4)

在您的依赖项中,您已声明

<scope>test</scope>

这意味着

  

<强>测试

     

此范围表示正常情况下不需要依赖关系   使用该应用程序,仅适用于测试编译   和执行阶段。

如果您希望正常使用该应用程序,请删除<scope>test</scope>或将其更改为<scope>compile</scope>

答案 2 :(得分:2)

执行以下步骤:-

  1. 将执行器相关性的范围从test更改为compile

  2. 而不是使用/health而是使用/actuator/health

  3. 如果要查看健康状态的详细信息,请在management.endpoint.health.show-details=always中添加application.properties file

答案 3 :(得分:2)

添加Maven依赖项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Application.properties

management.endpoints.web.exposure.include= "*" 包括执行器上的所有端点 要么 management.endpoints.web.exposure.include= health 如果仅需要健康终点

答案 4 :(得分:0)

Maven依赖

2.22 * 100

Application.properties

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

供参考,请使用以下链接:(逐步说明)

https://www.youtube.com/watch?v=0Dj2tsK2V2g