【问题标题】:How to set connection-timeout and socket-timeout with feign +http client?如何使用 feign +http 客户端设置连接超时和套接字超时?
【发布时间】:2021-06-02 18:11:41
【问题描述】:
  @Bean
    public ApacheHttpClient client() {
        RequestConfig config = RequestConfig.custom().setConnectTimeout(30)
                .setSocketTimeout(30).build();

        CloseableHttpClient httpClientObject = HttpClientBuilder.create()
                .setDefaultRequestConfig(config)
                .build();
        return new ApacheHttpClient(httpClientObject);
    }


@Autowired
    public HTTPRequestClient(Decoder decoder, Encoder encoder, ApacheHttpClient client) {
        this.client = client;

        setHttpRequestAdaptor(Feign.builder()
                .client(client)
                .encoder(encoder)
                .decoder(decoder)
                .logLevel(feign.Logger.Level.FULL)
                .target(Target.EmptyTarget.create(HTTPRequestAdaptor.class)));

    }

连接超时和套接字超时不起作用。需要哪些属性与 feign http 客户端配合使用?我一直在使用

feign.httpclient.enabled=true
feign.httpclient.connection-timeout=2

但是没有用。

【问题讨论】:

    标签: spring-boot httpclient feign openfeign


    【解决方案1】:

    您可以添加.options(new Request.Options(30, 30)) 给假装建造者

    如果失败,那么可能会将整个班级添加到问题中。 this.client = client 部分代码看起来有点奇怪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-19
      • 2011-08-03
      • 2016-05-10
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      相关资源
      最近更新 更多