В чем смысл "на основе маршрута" в PoolingClientConnectionManager?
ThreadSafeClientConnManager устарел и вводится новый метод PoolingClientConnectionManager.
Документация PoolingClientConnectionManager сообщает
Управляет пулом клиентских подключений и может обслуживать соединение запросы из нескольких потоков выполнения. Соединения объединены на на основе маршрута.
Мой вопрос
В чем смысл каждого маршрута здесь?
Ответы
Ответ 1
Это относится к HttpRoute. HttpRoute предназначен для определения нескольких приложений, работающих на одном и том же веб-сервере.
http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/routing/HttpRoute.html
Он используется, как показано ниже:
ClientConnectionRequest connRequest = connMrg.requestConnection(
new HttpRoute(new HttpHost("localhost", 80)), null);
ManagedClientConnection conn = connRequest.getConnection(10, TimeUnit.SECONDS);
try {
BasicHttpRequest request = new BasicHttpRequest("GET", "/");
conn.sendRequestHeader(request);
HttpResponse response = conn.receiveResponseHeader();
conn.receiveResponseEntity(response);
HttpEntity entity = response.getEntity();
if (entity != null) {
BasicManagedEntity managedEntity = new BasicManagedEntity(entity, conn, true);
// Replace entity
response.setEntity(managedEntity);
}
// Do something useful with the response
// The connection will be released automatically
// as soon as the response content has been consumed
} catch (IOException ex) {
// Abort connection upon an I/O error.
conn.abortConnection();
throw ex;
}
источник: http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
Ответ 2
Положите это простым термином, для каждого маршрута - для каждого хоста, к которому вы подключаетесь.
PoolingHttpClientConnectionManager поддерживает максимальный лимит соединений по каждому маршруту и в целом. По умолчанию эта реализация создаст не более двух одновременных соединений для каждого маршрута и не более 20 подключений.
Ответ 3
Если вы хотите понять, что такое маршрут (и, следовательно, то, что на самом деле означает маршрут) Node.js express tutorial имеет хорошая ссылка/описание того, что такое маршрут. Это комбинация URI (/URL), метода HTTP-запроса (GET, POST и т.д.) И одного или нескольких обработчиков для конечной точки. Здесь "обработчик" - это функция или метод, который выполняется, когда вы нажимаете на данный URL-адрес, используя специальный метод HTTP-запроса (например, GET и т.д.).