Когда я использую httpclient, я выбрасываю много Соединений было превышено время ожидания с Превышен период ожидания 1000 мс. или Превышено время ожидания 1000 мсек, поскольку Соединение было закрыто
Я хочу проверить, не приведут ли эти исключения к отправке содержимого запроса. Ниже представлена моя конфигурация: я отправляю 3000 запросов https на более чем 1000 веб-сайтов в секунду, я не знаю, на каком этапе произошла эта ошибка. Я не обращаю внимания на сообщение, возвращаемое с 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);