Feign的超时时间设置有三种方式:bash
直接使用RestTemplte模版设置,由于Feign走的是http。ui
@Bean
@LoadBalanced
RestTemplate restTemplate() {
HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
httpRequestFactory.setReadTimeout(1500);
httpRequestFactory.setConnectTimeout(1500);
return new RestTemplate(httpRequestFactory);
}
复制代码
使用Fei客户端配置(推荐)spa
feign.client.config.default.connect-timeout=1500
feign.client.config.default.read-timeout=1500
复制代码
@Bean
public Request.Options requestOptions(ConfigurableEnvironment env) {
return new Request.Options(10000, 10000);
}
复制代码
使用ribbon的超时时间,比较蛋疼的是ribbon的配置文件设置只能支持设置服务粒度,若是你有20个服务就要配置20个。debug
优先级1 > 2 > 3rest
配置文件方式(推荐)日志
feign.client.config.default.logger-level=full
feign.client.config.default.request-interceptors[0]=com.example.feign.service.FeignRequestInterceptor
logging.level.com.example.feign.service=debug
复制代码
须要将feign客户端包的日志级别设置为debug才能生效code