文章背景
最近在学习最新版Spring Cloud开源框架,因为openfeign默认是使用JAVA底层URLConnection类,初始化http链接,显然真正的生产环境是不可靠的,所以考虑使用http client连接池来优化。
遇到的问题
于是百度各类大咖们的文章后,使用Maven依赖:
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>12.1</version>
</dependency>
并在项目配置文件里,启用Apache Http Client连接池:
spring:
cloud:
openfeign:
httpclient:
hc5:
enabled: true
加载到项目后,断点发现openfeign依赖是的是自带的Client实现类,并没有初始化hc5池。
解决方案
查看feign源码,自动装配的条件是@ConditionalOnClass(ApacheHttp5Client.class),发现这个ApacheHttp5Client类不存在,所以怀疑Maven依赖有问题,于是改为:
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-hc5</artifactId>
<version>12.2</version>
</dependency>
重新加载依赖,重启项目,断点一看,配置生效。:)
![](https://img-blog.csdnimg.cn/img_convert/609745d1ec5ea4bac3364d60bca327eb.png)