io.netty.channel.unix.Errors$NativeEceptionIoException: readAddress failed: 由对等请求重置的连接将被重试

io.netty.channel.unix.Errors$NativeEceptionIoException: readAddress failed: Connection reset by peer Request will be retried

我正在使用 webClinet 来使用 OAuth2 安全服务。当服务花费的时间超过默认超时时,我会收到错误消息并重试请求。

io.netty.channel.unix.Errors$NativeEceptionIoException: readAddress 失败: 连接被对端重置 连接发现错误,将重试请求。 这似乎是 netty 的 IO 异常问题。

在这种情况下如何避免重试?

这是我的网络客户端配置-

WebClient webclinet(OAuth2AuthorizedClientManager am){
    ExchangeStrategies ex = ExchangeStrategies
                                        .builder()
                                        .codec(c-> c.defaultCodecs().maxInMemorySize(-1)).build();
    ServletOAuth2AuthorizedClientExchangeFilterFunction oauth = 
                                    new ServletOAuth2AuthorizedClientExchangeFilterFunction(am);

    SslContext ssl = new JdkSslContext(SSLContext.getDefault(),true,ClientAuth.REQUIRE);

    ReactorClientHttpConnector clientHttpConnector = new ReactorClientHttpConnector(Http.create()
                                .secure(sslContextSpec-> sslContextSpec.sslContext(ssl)));
                                
    return WebClient.builder()
                .exchangeStrategies(ex)
                .clientConnector(clientHttpConnector)
                .filter(oauth)
                .build();


有一个名为 sslContextSpec.sslContext(ssl).disableRetry(true) 的 属性,可用于禁用它的重试功能。