5.通过接口实现服务上下线

一、yml文件配置

# 应用名称
spring.application.name=provider
# 应用服务 WEB 访问端口
server.port=8000

eureka.client.service-url.defaultZone=http://euk1.com:7001/eureka/
# 暴露全部端口
management.endpoints.web.exposure.include=*

#开启关闭节点 允许远程关闭此节点
management.endpoint.shutdown.enabled=true

#上报健康状态
eureka.client.healthcheck.enabled=true

二、实现HealthIndicator接口

@Component
public class HealthStatusServer implements HealthIndicator {

    private Boolean status = true;

    public HealthStatusServer() {
        this.status = status;
    }

    @Override
    public Health health() {
        if (status){
            return new Health.Builder().up().build();
        }
        return new Health.Builder().down().build();
    }

    public String getStatus() {
        return this.status.toString();
    }

    public void setStatus(Boolean status) {
        this.status = status;
    }

}

三、接口实现

 @Autowired
    HealthStatusServer hsrv;

    @GetMapping("health")
    public String health(@RequestParam("status") Boolean status) {
        hsrv.setStatus(status);
        return hsrv.getStatus();
    }

四、测试

eureka因为心跳机制有一定延迟,所以进行测试的时候,可能不会立即生效

正常在线状态 

调用http://laptop-ccrui6v2:8000/health?status=false 下线操作

 下线成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值