Feign

1、Feign超时时间设置

Feign的超时时间设置有三种方式:bash

  1. 直接使用RestTemplte模版设置,由于Feign走的是http。ui

    @Bean
     @LoadBalanced
     RestTemplate restTemplate() {
     	HttpComponentsClientHttpRequestFactory httpRequestFactory =  new HttpComponentsClientHttpRequestFactory();
     	httpRequestFactory.setReadTimeout(1500);
     	httpRequestFactory.setConnectTimeout(1500);
     	return new RestTemplate(httpRequestFactory);
     }
    复制代码
  2. 使用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);
    }
    复制代码
  3. 使用ribbon的超时时间,比较蛋疼的是ribbon的配置文件设置只能支持设置服务粒度,若是你有20个服务就要配置20个。debug

优先级1 > 2 > 3rest

2、设置Feign日志级别和请求拦截器

配置文件方式(推荐)日志

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

相关文章
相关标签/搜索