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(斷路由)生效。