詳解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
四、測試
不啟動底層依賴的服務,直接啟動服務,然后測試,發(fā)現(xiàn)瀏覽器中的結果為:
{"id":null,"username":"匿名","name":"臨時名","age":null,"balance":null}
并沒有像想象中的那樣報異常,而是進入了HystrixClientFallback類中的findById方法中。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解如何使用IntelliJ IDEA新建一個Servlet項目
這篇文章主要介紹了詳解如何使用IntelliJ IDEA新建一個Servlet項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11RabbitMQ死信機制實現(xiàn)延遲隊列的實戰(zhàn)
本文主要介紹了RabbitMQ死信機制實現(xiàn)延遲隊列的實戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11如何在JDK 9中更簡潔使用 try-with-resources 語句
本文詳細介紹了自 JDK 7 引入的 try-with-resources 語句的原理和用法,以及介紹了 JDK 9 對 try-with-resources 的改進,使得用戶可以更加方便、簡潔的使用 try-with-resources 語句。,需要的朋友可以參考下2019-06-06