Я установил тайм -аут на 10 секунд, но я все еще получаю ответ через 10 секунд без тайм -аутаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Я установил тайм -аут на 10 секунд, но я все еще получаю ответ через 10 секунд без тайм -аута

Сообщение Anonymous »

Я создал сервер, который реализует очередь на стороне сервера, где запросы преднамеренно хранятся в течение 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»