详解springcloud Feign的Hystrix支持
更新时间:2018年01月25日 11:44:45 作者:牛奋lch
这篇文章主要介绍了详解springcloud Feign的Hystrix支持,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文介绍了springcloud Feign的Hystrix支持,分享给大家,具体如下:
一、Feign client中加入Hystrix的fallback
@FeignClient(name="springboot-h2", fallback=HystrixClientFallback.class) //在fallback属性中指定断路器的fallback public interface UserFeignClient { // @GetMapping("/user/{id}") @RequestMapping(value = "/user/{id}", method = RequestMethod.GET) User findById(@PathVariable("id") Long id); @RequestMapping(value="/users", method=RequestMethod.GET) List<User> findAll(); @RequestMapping(value="/post/user", method=RequestMethod.POST) User save(@RequestBody User user); }
二、编写HystrixClientFallback类
@Component //加入spring bean中 public class HystrixClientFallback implements UserFeignClient{ @Override public User findById(Long id) { User u = new User(); u.setName("临时名"); u.setUsername("匿名"); return u; } @Override public List<User> findAll() { return null; } @Override public User save(User user) { return null; } }
三、加入Hystrix支持
@EnableCircuitBreaker
四、测试
不启动底层依赖的服务,直接启动服务,然后测试,发现浏览器中的结果为:
{"id":null,"username":"匿名","name":"临时名","age":null,"balance":null}
并没有像想象中的那样报异常,而是进入了HystrixClientFallback类中的findById方法中。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
详解如何使用IntelliJ IDEA新建一个Servlet项目
这篇文章主要介绍了详解如何使用IntelliJ IDEA新建一个Servlet项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-11-11如何在JDK 9中更简洁使用 try-with-resources 语句
本文详细介绍了自 JDK 7 引入的 try-with-resources 语句的原理和用法,以及介绍了 JDK 9 对 try-with-resources 的改进,使得用户可以更加方便、简洁的使用 try-with-resources 语句。,需要的朋友可以参考下2019-06-06
最新评论