spring cloud整合OpenFeign
spring cloud整合OpenFeign
pom.xml配置
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-openfeign-core -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-openfeign-core</artifactId><version>2.2.6.RELEASE</version>
</dependency>
主启动类
使用@EnableFeignClients开启Feign功能,这里使用Eureka做服务注册所以使用@EnableEurekaClient注解
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class OrderApplication81 {public static void main(String[] args) {SpringApplication.run(OrderApplication81.class,args);}
}
定义service接口
使用openFeign需要编写接口,然后通过使用@FeignClient注解。接口的方法写提供者的接口即可,OpenFeign就会通过这些来生成接口的代理对象。(之所以@Component标注的接口能生成Bean,是因为在生成Bean的过程中有AOP,AOP后生成的是代理对象。)springcloud整合OpenFeign,原理就是通过AOP进行横切增强然后生成代理对象。
@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE")
public interface PaymentOpenfeginService {@GetMapping("/payment/get/{id}")public ResponseMessage getPaymentById(@PathVariable("id") int id);}
controller编写
通过@Resource自动注入PaymentOpenfeginService接口的代理对象,这个代理对象由spring cloud openFeign生成。这个代理对象是通过动态代理生成的,通过AOP实现代码增强。
@RestController
@Slf4j
public class OrderController {@Resourceprivate PaymentOpenfeginService paymentOpenfeginService;@GetMapping("/comsumer/payment/get/{id}")public ResponseMessage getPaymentById(@PathVariable("id") int id){return paymentOpenfeginService.getPaymentById(id);}
}
openfeign超时控制
通过application.yml中添加以下配置,配置openfeign连接超时控制。
feign:httpclient:connection-timeout: 2000
openFeign日志功能
通过指定feign接口的日志等级,通知feign的日志
logging:level: #指定feign接口的日志等级com.example.springcloud.service.PaymentOpenfeginService: debug
spring cloud整合OpenFeign相关推荐
- spring cloud整合Ribbon
spring cloud整合Ribbon 使用Eureka中自带的Ribbon 如果你使用的是Eureka做服务发现和注册的话,在比较新版本的Eureka中,Eureka已经集成了Ribbon进入Eu ...
- Spring cloud整合zookeeper
Spring cloud整合zookeeper pom.xml依赖 spring cloud整合zookeeper需要依赖spring-cloud-starter-zookeeper-discover ...
- eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇
Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...
- Spring Cloud 整合 seata 实现分布式事务极简入门
Spring Cloud 整合 seata 实现分布式事务极简入门 seata Spring Cloud 整合 seata 实现分布式事务极简入门 1. 概述 2. 部署nacos 3. 部署seat ...
- phoenix+hbase+Spark整合,Spark处理数据操作phoenix入hbase,Spring Cloud整合phoenix
1 版本要求 Spark版本:spark-2.3.0-bin-hadoop2.7 Phoenix版本:apache-phoenix-4.14.1-HBase-1.4-bin HBASE版本:hbase ...
- (2)搞一搞 seata 之 Spring Cloud 整合
前言, 上一篇博主使用的seata 版本和 spring cloud 版本有很大的问题, 导致netty 通信组件有很大的兼容问题, 本次博主的pom有大更新, 上一个篇博客, 就只能学习学分布式调用 ...
- Sentinel实现限流熔断及与Spring Cloud整合
why 在分布式中,为了保证服务高可用,就必须对请求进行限流或服务降级的方式才能够保证不会被流量拖垮导致雪崩效应, what–什么是sentinel? 它是面向分布式服务架构的轻量级流量控制组件,主要 ...
- Spring Cloud整合Nacos实现动态配置
前提 已经安装并启动了nacos-server服务端. 整合 创建一个maven工程并引入以下依赖: <dependency><groupId>org.springframew ...
- 解决 Spring Cloud 整合 zipkin 报错:org.springframework.boot.actuate.health.CompositeHealthIndicator......
文章目录 一.问题描述 二.解决方法 一.问题描述 我的 Spring Boot 版本是 2.3.4,Spring Cloud 版本是 Hoxton.SR1. 要整合 zipkin,先在服务端导入了以 ...
最新文章
- spring 定时器设置停止_单片机MSP430入门-理论⑦--定时器模块-定时器A②
- 使用Wireshark分析工控协议
- 深入 理解 Statement 和 PreparedStatement 【转】
- (计算机组成原理)第五章中央处理器-第一节:CPU的功能与基本结构(运算器和控制器等寄存器)
- 【Linux】安装x11vnc和xrdp,使用windows远程deepin
- @程序员,如何在买房时不被宰?
- 白鹭引擎 - 项目的创建与动态调试
- 在主函数中输入10个等长的字符串。用另一函数对他们排序
- paip.技术重要还是管理重要还是创意重要
- 解决布局点击事件穿透的问题
- cad调了比例因子没反应_CAD教程:自由缩放命令的操作流程
- 中等职业学校计算机类教学用书,中等职业学校计算机技术专业教学用书:二维动画制作(Flash CS3)...
- 农场周围的道路c语言编程,[蓝桥杯][2013年第四届真题]农场阳光 (C语言)
- tmux鼠标配置出现错误unknown option: mode-mouse
- oracle匹配靓号的正则表达式_正则表达式(靓号过滤)
- css特殊边框形状_了解CSS边框角形状
- git pull遇到报错:! [rejected]xxx-> xxx (non-fast-forward)
- 数据结构与算法 试题与答案
- Threejs系列--9游戏开发--沙漠赛车游戏【基础场景渲染】
- Latex常用总结(2):输入矩阵(输入矩阵、对角阵、方程组等)
热门文章
- map and flatmap 区别
- RabbitMQ之Exchange分类
- Android 通过Service单独进程模仿离线推送 Server Push
- public/private/protected/默认 的各种理论上的区别
- c#中怎样取得某坐标点的颜色
- SpringMVC之访问静态文件
- DWZ(JUI)的lookupGroup增加回调函数
- 浅析MongoDB数据库的海量数据存储应用
- php5.6+Redis+Windows7安装 (phpstudy)
- VMware通过vmdk文件创建虚拟机