1. 概述
前端
版本:java
spring-boot: 1.5.9.RELEASEgit
spring-cloud: Dalston.SR5github
在默认状况下 spring cloud feign在进行各个子服务之间的调用时,http组件使用的是jdk的HttpURLConnection,没有使用线程池。 可经过为feign配置http线程池优化调用效率。spring
2.OkHttp简介缓存
OkHttp 是一个高效的 HTTP 客户端,具备很是多的优点:网络
3. 配置方式:app
i) 引入jar包异步
gradle方式: compile 'io.github.openfeign:feign-okhttp'maven
maven方式:
<dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-okhttp</artifactId> </dependency>
ii) application.yml
feign.okhttp.enabled=true
iii) okhttp链接对象的初始化
建议在spring容器中以bean的形式生成,代码以下:
1 @Configuration 2 @ConditionalOnClass(Feign.class) 3 @AutoConfigureBefore(FeignAutoConfiguration.class) 4 public class FeignOkHttpConfig{ 5 6 @Bean 7 public okhttp3.OkHttpClient okHttpClient(){ 8 return new okhttp3.OkHttpClient.Builder() 9 .readTimeout(60,TimeUnit.SECONDS) 10 .connectTimeout(60,TimeUnit.SECONDS) 11 .connectionPool(new ConnectionPool()) 12 .build(); 13 } 14 }
验证部分:
OkHttpClient.java # execute方法添加断点, 前端执行一个能够发出feign调用的请求,看断点是否落在execute方法中。
若是成功落入断点部分,那么恭喜你了!
若是没有进入断点部分,那么你可要好好检查一下代码!