【SpringCloud】(十二):Fegion的Hystrix支持
来源:互联网 发布:网络金融产品都有哪些 编辑:程序博客网 时间:2024/05/20 02:27
Fegion也支持Hystrix。当服务提供者出现异常的时候,使用Hystrix回调方法。
在前面文章中提到的microservice-comsumer-movie-feign的基础上进行修改,主要是有一个回调的方法。
启动类:
package com.dynamic.cloud;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.EnableEurekaClient;import org.springframework.cloud.netflix.feign.EnableFeignClients;@SpringBootApplication@EnableEurekaClient@EnableFeignClientspublic class ComsumerMovieFeignApplication {public static void main(String[] args) {SpringApplication.run(ComsumerMovieFeignApplication.class, args);}}
Controller
package com.dynamic.cloud.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;import com.dynamic.cloud.entity.User;import com.dynamic.cloud.feign.UserFeignClient;@RestControllerpublic class MovieController {@Autowiredprivate UserFeignClient userFeignClient;@GetMapping("/movie/{id}")public User findById(@PathVariable Long id){return this.userFeignClient.findById(id);}}
package com.dynamic.cloud.feign;import org.springframework.cloud.netflix.feign.FeignClient;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import com.dynamic.cloud.entity.User;@FeignClient(name="microservice-provider-user",fallback =HystrixClientFallback.class)public interface UserFeignClient {@RequestMapping(value="/simple/{id}",method = RequestMethod.GET) //只能是RequestMappingpublic User findById(@PathVariable("id") Long id); //@PathVariable需要设置括号中的名称}
@FeignClient,要用name 和 fallback
HystrixClientFallback要实现UserFeignClient,并且加入到容器中。
package com.dynamic.cloud.feign;import org.springframework.stereotype.Component;import com.dynamic.cloud.entity.User;@Componentpublic class HystrixClientFallback implements UserFeignClient {@Overridepublic User findById(Long id) {User user = new User();user.setId(0L);return user;}}
启动Eureka,用户微服务和修改后的电影微服务。正常情况下,电影微服务调用用户微服务显示数据,当用户微服务出现异常时。电影微服务执行回调方法。
阅读全文
1 0
- 【SpringCloud】(十二):Fegion的Hystrix支持
- 【SpringCloud】(十四):Feign对Hystrix的支持 fallbackFactory
- 【SpringCloud】(十三):全局和单个禁用Feign Client对Hystrix的支持
- SpringCloud--断路器(Hystrix)
- SpringCloud:断路器(Hystrix)
- springCloud学习02之断路器Hystrix-turbine监控-ribbo/feign对Hystrix的支持
- springcloud-熔断器Hystrix的原理
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- SpringCloud--Hystrix
- springcloud-dashboard、turbine监控hystrix的使用
- HDUOJ 2844 Coins
- 前端面试题及答案(2)
- static关键字
- HDU 1074 Doing Homework (dp+状态压缩+路径记录)
- SqlMapConfig.xml配置文件详解(5)
- 【SpringCloud】(十二):Fegion的Hystrix支持
- 《第一行代码》自学笔记-Android中异步消息处理机制&&AsyncTask的用法
- PagerAdapter 适配器
- 怎样教你牢记17个的Win7快捷键!
- Dungeon Master(BFS)
- 51nod 1091 线段的重叠
- Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城
- C#的抽象类和接口的区别
- HDU 1075-What Are You Talking About(字符串)