Мы реализовали пул соединений в нашем клиентском коде для вызова сервера, который закрывает (отправляет Connection: close в заголовках ответа) соединение через 2,5 минуты. Из-за поведения сервера мы иногда / периодически получаем исключение NoHttpResponseException. И это может происходить как при высоком TPS, так и при низком TPS.
Мы используем apache http-клиент версии 4.5.11. И есть одна validateAfterInactivity
настройка в PoolingHttpClientConnectionManager
, которая по умолчанию установлена на 2000 мс. Но я думаю, что мы можем получить то же исключение, если попытаемся установить соединение в период 2000 мс.
Мы можем установить агрессивное значение для validateAfterInactivity, но я слышал, что это может снизить производительность на ~ 20-30 мс для каждого запроса.
повторная попытка этого исключения является хорошим решением?
А также для выравнивания в том же контексте, можем ли мы повторить попытку в случае java. net .SocketException: сброс соединения ?
@ ok2 c любой предложение здесь?
Заранее спасибо.