vertx httpclient池关闭了连接并且连接超时

时间:2019-10-12 05:35:49

标签: httpclient vert.x connect-timeout

使用httpclient时,我会抛出很多 连接超时,超过了1000ms的超时时间。 或关闭连接已超过1000毫秒的超时时间

我想检查这些异常是否会导致请求内容发送失败。 以下是我的配置,我每秒向3000多个网站发送3,000个https请求, 我不知道这个错误发生在什么阶段。我不注意http服务器返回的消息。只需将消息发布到服务器,以及这些错误是否对我的目标有影响。

HttpClientOptions clientOptions = new HttpClientOptions();
clientOptions
        .setMaxRedirects(2)
        .setConnectTimeout(1000) // default millions
        .setKeepAlive(true)
        .setKeepAliveTimeout(5) // default seconds
        .setMaxPoolSize(20) // per route connection size
        .setMaxWaitQueueSize(10240)
        .setIdleTimeout(5) // default seconds 
        .setPoolCleanerPeriod(1000) // clean alive in pool
        .setSsl(true)
        .setVerifyHost(false)                //cert with host but url is ip
        .removeEnabledSecureTransportProtocol("TLSv1")  // default is "TLSv1", "TLSv1.1", "TLSv1.2"  remove other support
        .removeEnabledSecureTransportProtocol("TLSv1.1")
        .setTrustAll(false)
        .setTrustOptions(
                new JksOptions().setPath(config.getKeyStorePath()).setPassword(config.getKeyStorePass()))
        .setOpenSslEngineOptions(new OpenSSLEngineOptions().setSessionCacheEnabled(config.isSessionCache()))
        .setReusePort(true)
        .setTcpFastOpen(config.isTcpFastOpen()) // linux native  options    
        .setTcpQuickAck(config.isTcpQuickAck()) 
        .setTcpNoDelay(config.isTcoNoDelay()) 


 //send requst set   timeout(1000)  like this 
HttpClientRequest req =
        httpClient
                .postAbs(
                        callbackUrl,
                        result -> {

                        })
                .setTimeout(1000) 
                .setFollowRedirects(true)
                .exceptionHandler(e->{}).end(buf);

0 个答案:

没有答案