Feign整合Hystrix的方法
1、修改服务消费者【movie】yml文件:
feign: hystrix: enabled: true
PS:springcloud默认以为Feign整合了Hystrix并且处于打开状态,经过实验,Hystrix并未打开,加入该配置则起作用。
2、修改FeignClient.java:
@FeignClient(name = "user",fallback = UserFeignClientFallback.class) public interface UserFeignClient { @RequestMapping(value = "/user/getUserInfo", method = RequestMethod.GET) Map findById(@RequestParam("userId") Integer userId); }
使用@FeignClient注解的fallback属性就可以为指定客户端设置回退逻辑。
3、新增UserFeignClientFallback类
@Component public class UserFeignClientFallback implements UserFeignClient { @Override public Map findById(Integer userId) { Map<String, String> user = new HashMap<>(3); user.put("name","默认用户"); user.put("id","-1"); user.put("age","18"); return user; } }
4、测试方法与之前相同。