定制弹簧靴执行器健康状态

Sup*_*C S 3 java spring spring-boot

当我从Spring Boot应用程序访问/ health端点时,它返回UP状态:

{
  "status": "UP"
}
Run Code Online (Sandbox Code Playgroud)

但我想自定义我的状态:

{
  "status": "success"
}
Run Code Online (Sandbox Code Playgroud)

我该如何自定义状态?

Hit*_*eeb 10

创建新的运行状况构建器状态并将其返回.

状态

@JsonProperty("status")
public String getCode() {
    return this.code;
}
Run Code Online (Sandbox Code Playgroud)

如果实施HealthIndicator

@Component
public class HealthChecker implements HealthIndicator {

    @Override
    public Health health() {
        // Do checks ..
        // if no issues
        return Health.status("success").build();
    }   
}
Run Code Online (Sandbox Code Playgroud)

如果扩展AbstractHealthIndicator

@Component
public class HealthIndicator extends AbstractHealthIndicator {

    @Override
    protected void doHealthCheck(Builder builder) throws Exception {
        builder.status("success").build();
    }
}
Run Code Online (Sandbox Code Playgroud)

严重程度

使这项工作,你必须通过替换更新状态严重性顺序UPsuccess或之前移动它UP

application.properties

management.health.status.order=DOWN, OUT_OF_SERVICE, UNKNOWN, success
Run Code Online (Sandbox Code Playgroud)

要么

management.health.status.order=DOWN, OUT_OF_SERVICE, UNKNOWN, success, UP
Run Code Online (Sandbox Code Playgroud)