Я создал сервер, который реализует очередь на стороне сервера, где запросы преднамеренно хранятся в течение 11 секунд, прежде чем будет отправлен ответ. В целях тестирования я настроил клиентское приложение для выполнения запросов на этот сервер с 10-секундным тайм-аутом. -Сайт времени ожидания до 10 секунд, я все еще получаю ответы на некоторые запросы после 10-секундного тайм-аута, даже если сервер преднамеренно держит запрос на 11 секунд. < /p>
PoolingAsyncClientConnectionManager connectionManager = PoolingAsyncClientConnectionManagerBuilder.create()
.setTlsStrategy(ClientTlsStrategyBuilder.create()
.setSslContext(SSLContexts.createSystemDefault())
.setTlsVersions(TLS.V_1_3)
.build())
.setPoolConcurrencyPolicy(PoolConcurrencyPolicy.STRICT)
.setConnPoolPolicy(PoolReusePolicy.LIFO)
.setDefaultConnectionConfig(ConnectionConfig.custom()
.setSocketTimeout(Timeout.ofMilliseconds(10000))
.setConnectTimeout(Timeout.ofMilliseconds(10000))
.setTimeToLive(TimeValue.ofMilliseconds(10000))
.build())
.setDefaultTlsConfig(TlsConfig.custom()
.setVersionPolicy(HttpVersionPolicy.NEGOTIATE)
.setHandshakeTimeout(Timeout.ofMinutes(1))
.build())
.build();
connectionManager.setDefaultMaxPerRoute(100);
connectionManager.setMaxTotal(100);
CloseableHttpAsyncClient asyncclient = HttpAsyncClients.custom()
.setConnectionManager(connectionManager)
.setIOReactorConfig(IOReactorConfig.custom()
.setSoTimeout(Timeout.ofMilliseconds(10000))
.build())
.build();
asyncclient.start();
futures.add(asyncclient.execute(httpRequest, new FutureCallback() {
@Override
public void completed(SimpleHttpResponse response) {
long processingTime = System.currentTimeMillis() - startTime;
System.out.println("Request "+ requestId+" completed with status: "+response.getCode()+" processingTime: "+pr`enter code here`ocessingTime);
}
@Override
public void failed(Exception ex) {
}
@Override
public void cancelled() {
}
}));
< /code>
output: < /p>
Request 33 completed with status: 200 processingTime: 2181
Request 29 completed with status: 200 processingTime: 2193
Request 551 completed with status: 200 processingTime: 9175
Request 935 completed with status: 200 processingTime: 14286
Request 1006 completed with status: 200 processingTime: 14284
Request 1122 completed with status: 200 processingTime: 16330
Request 1076 completed with status: 200 processingTime: 16332
Request 1084 completed with status: 200 processingTime: 16333
Подробнее здесь: https://stackoverflow.com/questions/794 ... se-after-1
Я установил тайм -аут на 10 секунд, но я все еще получаю ответ через 10 секунд без тайм -аута ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получение ошибки тайм-аута — увеличьте значение тайм-аута отправки при привязке.
Anonymous » » в форуме C# - 0 Ответы
- 61 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Получение ошибки тайм-аута — увеличьте значение тайм-аута отправки при привязке.
Anonymous » » в форуме C# - 0 Ответы
- 43 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Вызывает ли сбой тайм-аут сторожевого таймера или тайм-аут является результатом сбоя?
Anonymous » » в форуме Linux - 0 Ответы
- 157 Просмотры
-
Последнее сообщение Anonymous
-