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