java - 如何覆盖 Spring Boot 健康响应代码

标签 java spring-boot spring-boot-actuator

如何根据执行器的状态覆盖执行器的默认/健康响应状态代码:DOWN、UP、UNKNOWN 等等?例如,如果健康状态为“UP”,则响应代码应为 200。如果 DOWN:400,未知 300。是否有任何解决方法可以实现此目的?

注意:我不想要自己的健康端点。相反,现有的需要被覆盖。

最佳答案

在 Spring boot 2.x 中,这些是内置状态及其默认值,您可以将其覆盖为所需的相关代码。

management.endpoint.health.status.http-mapping.UP=200
management.endpoint.health.status.http-mapping.UNKNOWN=200
management.endpoint.health.status.http-mapping.DOWN=503
management.endpoint.health.status.http-mapping.OUT_OF_SERVICE=503

或自定义映射

management.endpoint.health.status.http-mapping.DOWN=400

或者在 yaml 中,

management: 
   endpoint:
       health:
          status:
            http-mapping:
              UP: 200
              UNKNOWN: 200
              DOWN: 503
              OUT_OF_SERVICE: 503

在 Spring boot 1.x 中,这些是应用了自定义状态的属性,

endpoints.health.mapping.DOWN=400
endpoints.health.mapping.UP=200
endpoints.health.mapping.UNKNOWN=300

或者在 yaml 中,

endpoints:
   health:
      mapping:
         UP: 200
         DOWN: 400
         UNKNOWN: 300

Spring Boot Current Actuator Health Documentation

关于java - 如何覆盖 Spring Boot 健康响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48850538/

相关文章:

spring-boot - Spring Boot 从 application.properties 中外部化属性

java - 在带有 Java/JDBC 的 Oracle PL/SQL 中使用游标并获取结果

java - 在链表中添加元素时发生了什么变化?

java - Hibernate - 使用 net.ucanaccess.jdbc.UcanaccessDriver 时出现 org.hibernate.MappingException

java - 检查 URL 中是否指定了参数

spring-boot - Ignite CrudRepository 仍然遇到 deleteAll 的名称冲突

java - IllegalStateException : org. springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@xxxxxxxx 已关闭

java -/opt/IBM/WebSphere/AppServer/java/bin/java : No such file or directory

java - 更改数据库设计以改进 Spring Data JPA 软删除和查询身份验证

java - 禁用并替换默认 DataSourceHealthIndicator