Was bedeuten setDefaultMaxPerRoute und setMaxTotal in HttpClient?

8

Ich verwende Apache HttpClient in einem meiner Projekte. Ich verwende auch PoolingHttpClientConnectionManager zusammen mit meinem HttpClient.

Ich bin verwirrt, was diese Eigenschaften bedeuten. Ich habe versucht, die Dokumentation im Code durchzugehen, aber ich sehe keine Dokumentation zu diesen Variablen, die ich nicht verstehen konnte.

  • setMaxTotal
  • setDefaultMaxPerRoute
  • setConnectTimeout
  • setSocketTimeout
  • setConnectionRequestTimeout
  • setStaleConnectionCheckEnabled

Unten ist, wie ich in meinem Code verwende:

%Vor%

Kann mir jemand diese Eigenschaften erklären, damit ich verstehen und entscheiden kann, welche Werte ich dort eintragen soll. Gibt es noch andere Eigenschaften, die ich verwenden sollte, wie oben gezeigt, um bessere Leistung zu erzielen?

Ich benutze http-Client 4.3.1

    
john 07.06.2015, 04:16
quelle

1 Antwort

6

Einige Parameter sind unter Ссылка

erklärt

Andere müssen der Quelle entnommen werden.

  • setMaxTotal

Die maximale Anzahl von Verbindungen, die für alle Routen zulässig sind.

  • setDefaultMaxPerRoute

Die maximale Anzahl von Verbindungen, die für eine Route zulässig sind, die bei einem Aufruf von setMaxPerRoute nicht anderweitig angegeben wurde. Verwenden Sie setMaxPerRoute, wenn Sie die Route im Voraus kennen, und setDefaultMaxPerRoute, wenn Sie dies nicht tun.

  • setConnectTimeout

Wie lange wird gewartet, bis eine Verbindung mit dem Remote-Server hergestellt wird, bevor eine Zeitüberschreitungsausnahme ausgelöst wird.

  • setSocketTimeout

Wie lange muss gewartet werden, bis der Server auf verschiedene Aufrufe reagiert, bevor eine Zeitüberschreitungsausnahme ausgelöst wird. Einzelheiten finden Sie Ссылка .

  • setConnectionRequestTimeout

Wie lange muss gewartet werden, wenn versucht wird, eine Verbindung aus dem Verbindungspool auszuprobieren, bevor eine Ausnahme ausgelöst wird (der Verbindungspool wird nicht sofort zurückgegeben, wenn z. B. alle Verbindungen ausgecheckt sind).

  • setStaleConnectionCheckEnabled

Kann für eine leichte Leistungsverbesserung auf Kosten von potenziellen IOExceptions deaktiviert werden. Siehe Ссылка

    
Pace 07.06.2015, 06:44
quelle

Tags und Links