<!-- openfeign's dependency -->
<dependency>
+ <groupId>com.netflix.feign</groupId>
+ <artifactId>feign-httpclient</artifactId>
+ </dependency>
+
+ <!-- <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- </dependency>
+ </dependency> -->
<dependency>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<optional>true</optional>
</dependency>
-
+ <dependency>
+ <groupId>com.netflix.feign</groupId>
+ <artifactId>feign-httpclient</artifactId>
+ <optional>true</optional>
+ </dependency>
+
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
import org.springframework.util.ResourceUtils;
import feign.Client;
+import feign.httpclient.ApacheHttpClient;
@Slf4j
@lombok.Builder
public Client client() {
if (!enabled) {
- return new Client.Default(null, null);
+ return new ApacheHttpClient();
}
if (keyStore == null || keyStore.isEmpty()) {
- return new Client.Default(null, null);
+ return new ApacheHttpClient();
} else {
try {
SSLContextBuilder sslContextBuilder = SSLContexts.custom();
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
- Client trustSSLSockets = new Client.Default(sslSocketFactory, new NoopHostnameVerifier());
+ Client trustSSLSockets = new Client.Default(sslSocketFactory, new NoopHostnameVerifier()); // FIXME: feign Client
log.info("feignClient load with ssl.");
return trustSSLSockets;
} catch (Exception e) {
}
}
- return new Client.Default(null, null);
+ return new ApacheHttpClient();
}
}
<version>${project.version}</version>
</dependency>
+ <!-- 使用Apache HttpClient替换Feign原生httpclient -->
+ <dependency>
+ <groupId>com.netflix.feign</groupId>
+ <artifactId>feign-httpclient</artifactId>
+ <version>8.17.0</version>
+ </dependency>
<dependency>
<groupId>mysql</groupId>