springCloud入门学习(十三):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、测试方法与之前相同。


猜你喜欢

转载自blog.51cto.com/13593129/2470877