第一步:首先开启Feign对Hystrix的支持,在yml文件中添加以下配置:
feign:
hystrix:
enabled=true. //false表示禁用Hystrix
第二步:在Feign的基础上添加Hystrix(断路由)
@FeignClient(name = "这里写需要调用服务名称 serviceName",fallback = "XxxServiceHystrix.class")
public interface XxxServiceAPI {
@RequestMapping(value = "/Xxx/getXxxInfo", method = RequestMethod.GET)
public BaseResponse<XxxxInfo> getXxxInfo(@RequestParam("Id") Integer Id);
第三步:编写XxxServiceHystrix类(断路器类的方法需要和远API方法一致[参数 结果集])
@Component
public class XxxServiceHystrix implement XxxServiceAPI{
@Override
public BaseResponse<XxxInfo> getXxxInfo(Integer Id){
return new BaseResponse<>().fail("调用服务失败");
}
}
//在启动类加上注解:
@EnableFeignClient
测试步骤:把你需要调用的服务(serviceName)挂掉,使用Feign调用服务,如果返回 “调用服务失败“ 则Hystrix(断路由)生效