如何解决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 举报,一经查实,本站将立刻删除。