Поведение HttpClient, когда MAX_CONNECTIONS были открыты и заняты - PullRequest
0 голосов
/ 30 июня 2011

Я использую httpClient (4.1.x) в многопоточной среде. Я использую класс ThreadSafeClientConnManager для создания пула постоянных соединений, которые разные потоки вызывают по мере поступления запросов от моего веб-сервера.

HttpClient имеет параметр MAX_CONNECTIONS и параметр MAX_CONNECTIONS_PER_ROUTE, которые можно настроить в зависимости от количества одновременных запросов, которые необходимо обслуживать.

Мой вопрос касается поведения ThreadSafeClientConnManager при достижении предела MAX_CONNECTIONS. Поддержка MAX_CONNECTIONS была открыта, и все они заняты, то есть используются другими потоками. Теперь новый запрос от нового потока передается в пул соединений для соединения. Теперь, он (ConnectionPool) игнорирует этот запрос ИЛИ блокирует ли вызов вызывающий поток и ждет, пока менеджер соединений не сможет найти свободное соединение?

1 Ответ

0 голосов
/ 13 июля 2011

Блокируется до истечения времени ожидания * или до освобождения соединения.

* (использует ваше значение для тайм-аута соединения в качестве тайм-аута блокировки)

...