Hystrix服务降级(客户端)

1.在springcloud-consumer-dept-feign的yml文件添加以下内容,开启服务降级

#开启降级级feign.hystrix
feign:
  hystrix:
    enabled: true

2.在springcloid-api的springcloud包下创建一个实现类DeptClientServiceFallbackFactory

//降级
    @Component
public class DeptClientServiceFallbackFatory implements FallbackFactory {
    @Override
    public Object create(Throwable throwable) {
        return new DeptClientService() {
            @Override
            public Dept queryById(Long deptno) {
                return new Dept()
                        .setDeptno(deptno)
                        .setDname("id=>"+deptno+"没有对应的消息,客户端提供了降级的消息,这个服务现在已经被关闭")
                        .setDb_source("没有这样的数据库");

            }

            @Override
            public List<Dept> queryAll() {
                return null;
            }

            @Override
            public boolean addDept(Dept dept) {
                return false;
           }
        };
    }
}

3测试,先启动springcloud-eureka-7001,再启动springcloud-provider-dept-8001,最后启动springcloud-consumer-dept-feign

3.1当我们正常访问时我们显示出了正常的信息,如下图:

3.2当我们关闭springcloud-provider-dept-8001时,页面出现以下信息,如下图:

Last modification:February 6th, 2020 at 04:18 pm
如果觉得我的文章对你有用,请随意赞赏