Problem

Warnungen wie die Folgenden werden in den Protokollen festgehalten:

*WARN* [10.89.13.88 [1486623761832] GET /content/abc/en/search.html HTTP/1.1] org.apache.commons.httpclient.HttpMethodBase Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended

Umgebung

Benutzerdefinierter Anwendungscode mit Apache Commons HttpClient 3.x.

Ursache

Dies geschieht mit der „commons-httpclient 3.x API“, wenn die Methode „getResponseBody()“ oder „getResponseBodyAsString()“ verwendet wird. Die Warnung bedeutet, dass ein Antworttext möglicherweise sehr groß sein kann (z.B. eine Suche mit einer großen Antwort usw.).  In diesem Fall wird die gesamte Antwort auf einmal in den Speicher geladen, was ineffizient ist.

Lösung

Ändern Sie den Anwendungscode so, dass stattdessen getResponseBodyAsStream() verwendet wird und lesen Sie aus dem InputStream, anstatt alles in einen großen String einzulesen.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie