OpenFeign修改HttpClient为Apache HttpClient 5

OpenFeign中http client

如果不做特殊配置,OpenFeign默认使用JDK自带的HttpURLConnection发送HTTP请求,

由于默认HttpURLConnection没有连接池、性能和效率比较低。所以修改为Apache HttpClient 5。

总结为两步:

  1. 加依赖
  2. 改yml

具体操作请往下看

1.验证当前默认的HttpClient

利用调用端向服务端发送请求,服务端故意等待超时不响应,查看异常处理的HttpClient是谁。OpenFeign超时控制讲解文章请点击

调用端代码如下:

服务端响应代码如下,在超时控制设置中我已经设置了10秒钟:

可以看到异常处理是由HttpURLConnection进行处理的。验证成功!

2.修改为Apache HttpClient 5

2.1 引入Apache HttpClient 5的依赖

在pom文件中引入依赖,版本号可以根据自己的OpenFeign版本自行修改。

xml 复制代码
		<!-- httpclient5-->
        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
            <version>5.3</version>
        </dependency>
        <!-- feign-hc5-->
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-hc5</artifactId>
            <version>13.1</version>
        </dependency>

点击右上角重新加载依赖配置

2.2 在application.yml文件中配置参数

yaml 复制代码
      #  Apache HttpClient5 配置开启
      httpclient:
        hc5:
          enabled: true

到这一步已经设置成功了Apache HttpClient 5。

验证:重启调用端程序,继续上面的超时控制请求,查看异常处理的http客户端是否改变

可以看到已经修改成功!

后续可以自行设置 httpclient:hc5:enabled: false来关闭Apache HttpClient 5恢复为默认的HttpClient

即如下修改即可:

相关推荐
cfm_2914几秒前
Leaf-segment号段模式
java
Wang's Blog2 分钟前
Java 项目实战: 交友项目 - 发布圈子动态:数据库表和接口文档介绍
java·数据库·交友
paopaokaka_luck3 分钟前
智慧电玩店管理系统(空闲机台随机分配、游玩时长概率模拟、积分自动结算、积分兑换闭环、 ECharts经营分析、 腾讯地图选址)
java·人工智能·mysql·echarts·推荐算法
LMT流氓兔25 分钟前
第五单元——第9课:防止同一次操作重复执行
java·服务器·数据库·算法·ai·langchain
OxYGC34 分钟前
Spring 面经系列 · 第 6 篇:Spring MVC 请求全流程、父子容器与零配置原理
java·spring·mvc
code2cat37 分钟前
Java高级篇之JDBC:连接数据库,完成查询、更新与事务
java·开发语言·数据库
bksczm42 分钟前
Redis数据结构之string
java·redis·mybatis
cc_瀚海知行1 小时前
资料检索 1|直接放入全文、按需读文件和先检索,有什么区别?
java·人工智能·ai
BioRunYiXue1 小时前
使用docker分析高通量测序数据
java·数据库·人工智能·spring cloud·docker·tomcat·html
Shaoshing2 小时前
缓存一致问题及常见解决方案
java·缓存