spring cloud: Hystrix:feign类似于hystrix的断容器功能
Posted 穆晟铭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring cloud: Hystrix:feign类似于hystrix的断容器功能相关的知识,希望对你有一定的参考价值。
spring cloud: Hystrix(四):feign使用hystrix
@FeignClient支持回退的概念:fallback方法,这里有点类似于:@HystrixCommand(fallbackMethod = "notfindback")的fallbackMethod 方法。
fallback方法调用的是一个类.,feign也有:/health, /health.stream地址信息
http://192.168.1.4:7601/health
1.首先要在配置件开启hystrix配置
#feign.hystrix feign.hystrix.enabled=true
或者
feign: hystrix: enabled: true
2.在FeignClient客户端文件添加fallback
@FeignClient(name="spring-boot-user", fallback=HystrixClientFallback.class) public interface UserFeignClient { // 两个坑:1. @GetMapping不支持 2. @PathVariable得设置value @RequestMapping(value="/simple/{id}", method=RequestMethod.GET) public User findById(@PathVariable("id") Long id); }
3.HystrixClientFallback友好文件(当feignClient地址不通是,默认返回本类信息)
@Component public class HystrixClientFallback implements UserFeignClient{ @Override public User findById(Long id) { // TODO Auto-generated method stub User user = new User(); user.setId(0L); return user; } }
4.controller调用
@RestController public class MovieController { @Autowired private UserFeignClient userFeignClient; @GetMapping("/movie/{id}") public User findById(@PathVariable("id") Long id) { return this.userFeignClient.findById(id); } }
以上是关于spring cloud: Hystrix:feign类似于hystrix的断容器功能的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud总结22.Hystrix Dashboard的使用(上)