Spring Cloud有关于Feign Client调用遇到的问题
调用服务时,报com.netflix.hystrix.exception.HystrixRuntimeException:XXXX failed and no fallback available.
解决方法
1、在pom.xml文件中添加依赖
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
</dependency>
2、在application.yml中添加配置,以便启用OKHttp
# 使用OKHttp代替原生Http Client
feign:
httpclient:
enabled: false
okhttp:
enabled: true
3、添加配置文件
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
public class FeignOkHttpConfig {
@Bean
public okhttp3.OkHttpClient okHttpClient(){
return new okhttp3.OkHttpClient.Builder()
//设置连接超时
.connectTimeout(60, TimeUnit.SECONDS)
//设置读超时
.readTimeout(60, TimeUnit.SECONDS)
//设置写超时
.writeTimeout(60,TimeUnit.SECONDS)
//是否自动重连
.retryOnConnectionFailure(true)
.connectionPool(new ConnectionPool())
//构建OkHttpClient对象
.build();
}
}
至此,问题暂时得到解决
文章写的不好,请多多包涵!