微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

reactor-netty HttpClient 的默认读取和连接超时

如何解决reactor-netty HttpClient 的默认读取和连接超时

我知道可以在 reactor-netty HttpClient 中配置读取和连接超时,例如:

  public WebClient xsdWebClient() {

    HttpClient httpClient = createHttpClient(config.getConnectionTimeout(),config.getReadTimeout());

    return WebClient.builder()
        .clientConnector(new ReactorClientHttpConnector(httpClient.followRedirect(true)))
        .baseUrl(config.getHost())
        .build();
  }

  private static HttpClient createHttpClient(int connectionTimeout,int readTimeout) {
    return HttpClient.create()
        .option(
            ChannelOption.CONNECT_TIMEOUT_MILLIS,(int) TimeUnit.SECONDS.toMillis(connectionTimeout))
        .doOnConnected(c -> c.addHandlerLast(new ReadTimeoutHandler(readTimeout)));
  }

但是 reactor-netty HttpClient 的认读取和连接超时是多少?

解决方法

参考reactor-netty的一位开发者给出的answer,读取默认时间为10秒。

,

我建议您使用 Reactor Netty 提供的 response timeout 配置而不是 ReadTimeoutHandler。您可以在 HttpClient 级别为所有请求或每个请求全局配置响应超时。 您可以在 reference documentation 中找到 Reactor Netty 提供的各种超时的默认值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。