SpringCloud使用FeignClient调用第三方接口‘偶尔’报错feign.RetryableException: unexpected end of stream on ;
解决方法:
1.检查服务器端口是否被占用 lsof -i:端口;
2.nacos添加超时配置:
3. 修改okhttp配置
@Configuration public class OkHttpConfiguration { @Bean public OkHttpClient okHttpClient() { return new OkHttpClient.Builder() //发送异常允许重试请求 //1、有的人说是加这个好了 .retryOnConnectionFailure(true) //2、有的人是加这里好了 .addNetworkInterceptor(chain -> { Request build = chain.request().newBuilder().addHeader("Connection", "close").build(); return chain.proceed(build); }) //设置连接超时 .connectionPool(new ConnectionPool(5, 60, TimeUnit.SECONDS)) //设置读超时 .readTimeout(10000, TimeUnit.SECONDS) //设置写超时 .writeTimeout(10000, TimeUnit.SECONDS) .build(); } }
4. 关vpn代理
5. 又增加配置
6. 增加依赖
<dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId> </dependency>
尝试到第6步,添加了依赖后,问题解决了......
原因不知,花了1天半时间,也不想去搞它了......