我知道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的默认读取和连接超时是什么?
发布于 2021-04-16 23:13:58
参考reactor-netty的一个开发人员给出的answer,读取默认时间是10秒。
发布于 2021-04-17 14:37:46
我建议您使用Reactor Netty提供的response timeout配置,而不是ReadTimeoutHandler。您可以为所有请求或每个请求在HttpClient级别上全局配置响应超时。您可以在reference documentation中找到由Reactor Netty提供的各种超时的默认值。
https://stackoverflow.com/questions/67126308
复制相似问题