SpringCloud 在Feign上使用Hystrix(断路由)

SpringCloud  在Feign上使用Hystrix(断路由)app


第一步:因为Feign的起步依赖中已经引入了Hystrix的依赖,因此只须要开启Hystrix的功能,在properties文件中添加如下配置:ide

feign.hystrix.enabled=true.post

第二步:在Feign的接口上添加Hystrix(断路由)测试

@FeignClient(name = "这里写服务名称", fallbackFactory = InsuranceCompany4OthersHystrixFactory.class)
@RequestMapping("/basebusiness/insurancecompany/4others")
public interface InsuranceCompany4OthersApi{接口

  @RequestMapping("getAllInsuranceCompany")
  public RetDTO getAllInsuranceCompany();路由

}get

第三步:编写InsuranceCompany4OthersHystrixFactory类,类上加@Component注解,注入Ioc容器中。class

@Component
public class InsuranceCompany4OthersHystrixFactory implements FallbackFactory<InsuranceCompany4OthersApi>{容器

  @Override
  public InsuranceCompany4OthersApi create(Throwable arg0) {
    return new InsuranceCompany4OthersApi() {配置

      @Override
      public RetDTO getAllInsuranceCompany() {   

        RetDTO retDTO = new RetDTO();
        retDTO.setRetStatus(RetDTO.SUCCESS);
        retDTO.setRetData("服务不通");
        return retDTO;

      }

    };

  }

}

第四部:测试。把你须要调用的服务挂掉,使用Feign调用服务,若是返回 “服务不通“ 则Hystrix(断路由)生效。

相关文章
相关标签/搜索