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方法中。
若是成功落入斷點部分,那麼恭喜你了!
若是沒有進入斷點部分,那麼你可要好好檢查一下代碼!