From f0f558fb472608eb26a77ed6e909a690e027e451 Mon Sep 17 00:00:00 2001 From: 4444 Date: Fri, 9 Nov 2018 15:21:03 +0800 Subject: [PATCH] =?UTF-8?q?feign=20=E9=BB=98=E8=AE=A4=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E6=94=B9=E4=B8=BAokhttp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auth/authentication-client/pom.xml | 4 ++ .../auth/client/config/FeignOkHttpConfig.java | 38 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 auth/authentication-client/src/main/java/com/springboot/cloud/auth/client/config/FeignOkHttpConfig.java diff --git a/auth/authentication-client/pom.xml b/auth/authentication-client/pom.xml index bd6b247..f0b21c9 100644 --- a/auth/authentication-client/pom.xml +++ b/auth/authentication-client/pom.xml @@ -51,6 +51,10 @@ org.springframework.cloud spring-cloud-starter-openfeign + + io.github.openfeign + feign-okhttp + org.projectlombok lombok diff --git a/auth/authentication-client/src/main/java/com/springboot/cloud/auth/client/config/FeignOkHttpConfig.java b/auth/authentication-client/src/main/java/com/springboot/cloud/auth/client/config/FeignOkHttpConfig.java new file mode 100644 index 0000000..7ccff4e --- /dev/null +++ b/auth/authentication-client/src/main/java/com/springboot/cloud/auth/client/config/FeignOkHttpConfig.java @@ -0,0 +1,38 @@ +package com.springboot.cloud.auth.client.config; + +import feign.Feign; +import okhttp3.ConnectionPool; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.cloud.openfeign.FeignAutoConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.concurrent.TimeUnit; + +@AutoConfigureBefore(FeignAutoConfiguration.class) +@Configuration +@ConditionalOnClass(Feign.class) +/**** + * 需要修改成OKHTTP的客户端,需要在配置文件增加 + * feign.httpclient.enabled=false + feign.okhttp.enabled=true + */ +public class FeignOkHttpConfig { + + private int feignOkHttpReadTimeout = 60; + private int feignConnectTimeout = 60; + private int feignWriteTimeout = 120; + + @Bean + public okhttp3.OkHttpClient okHttpClient() { + return new okhttp3.OkHttpClient.Builder() + .readTimeout(feignOkHttpReadTimeout, TimeUnit.SECONDS) + .connectTimeout(feignConnectTimeout, TimeUnit.SECONDS) + .writeTimeout(feignWriteTimeout, TimeUnit.SECONDS) +// .connectionPool(new ConnectionPool(int maxIdleConnections, long keepAliveDuration, TimeUnit timeUnit)) //自定义链接池 +// .addInterceptor(XXXXXXXInterceptor) //自定义拦截器 + .build(); + } +} -- Gitee