您好,若您的OpenFeign应用接入ARMS应用监控后,出现数据不完整、看不到下游应用的数据等情况,可能的原因是OpenFeign组件默认开启了使用RxJava异步框架的Hystrix,而ARMS 应用监控 java Agent 2.6.0 版本以下不支持异步框架。
您可以通过关闭Hystrix并配置OkHttp请求类来解决此类问题:
1、在pom.xml文件中添加以下依赖。 io.github.openfeign feign-okhttp
2、在SpringCloud配置文件中添加以下配置。feign.okhttp.enabled: truefeign.hystrix.enabled: false
3、配置OkHttp请求类。
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
public class FeignClientOkHttpConfiguration {
@Bean public OkHttpClient okHttpClient() {
return new OkHttpClient.Builder()
// 连接超时
.connectTimeout(20, TimeUnit.SECONDS)
// 响应超时
.readTimeout(20, TimeUnit.SECONDS)
// 写超时
.writeTimeout(20, TimeUnit.SECONDS)
// 是否自动重连
.retryOnConnectionFailure(true)
// 连接池
.connectionPool(new ConnectionPool())
.build();
}