`
QING____
  • 浏览: 2231937 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Springboot 2.0 Health接口状态控制

    博客分类:
  • JAVA
阅读更多

    Health接口,内部有个设计实现,当health接口的status不是UP时,访问health接口的http状态码为503,这个方式也挺好,对于一些工具而言(比如nginx 健康检查)比较方便,因为通过状态码就可以知道服务的健康情况。但是有时候,我们更希望通过health接口的返回内容来判断起实际状态,这个时候如果状态码不是200的话,可能影响请求解析。

 

    我们可以通过如下代码,来自定义health接口的status与http状态码的关系。

 

    @Bean
    @ConditionalOnProperty("management.health.status.static")
    public HealthStatusHttpMapper healthStatusHttpMapper() {
        HealthStatusHttpMapper healthStatusHttpMapper = new HealthStatusHttpMapper();
        healthStatusHttpMapper.addStatusMapping(Status.DOWN,WebEndpointResponse.STATUS_OK);
        healthStatusHttpMapper.addStatusMapping(Status.UNKNOWN,WebEndpointResponse.STATUS_OK);
        healthStatusHttpMapper.addStatusMapping(Status.OUT_OF_SERVICE,WebEndpointResponse.STATUS_OK);
        return healthStatusHttpMapper;
    }

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics