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.