ThreadSafeClientConnManager jest przestarzałe i wprowadzono nową metodę PoolingClientConnectionManager.
Dokumentacja PoolingClientConnectionManager mówi
Zarządza pulą połączeń klientów i jest w stanie obsłużyć połączenie
żądania z wielu wątków wykonywania. Połączenia są łączone na
na podstawie trasy.
Moje pytanie
Jakie jest znaczenie na podstawie trasy tutaj?
Odnosi się do HttpRoute. HttpRoute ma na celu wytyczenie wielu aplikacji działających na tym samym serwerze WWW.
http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/routing/HttpRoute.html
Jest używany jak poniżej:
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;
}
źródło: http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
Wpisz w prosty termin, na trasę oznacza na hosta, z którym się łączysz.
PoolingHttpClientConnectionManager utrzymuje maksymalny limit połączeń na podstawie trasy i łącznie. Domyślnie implementacja ta tworzy nie więcej niż 2 równoczesne połączenia na daną trasę i nie więcej niż 20 połączeń w sumie.
Jeśli chcesz zrozumieć, co to jest trasa (a więc co to znaczy na trasie) Ekspresowy samouczek Node.js ma ładne odniesienie / opis do tego, czym jest trasa. Jest to kombinacja identyfikatora URI (/ URL), metody żądania HTTP (GET, POST itp.) I jednej lub kilku procedur obsługi dla punktu końcowego. Tutaj "handler" to funkcja lub metoda, która jest wykonywana po trafieniu w podany adres URL przy użyciu określonej metody żądania HTTP (np. GET itp.).