„org.apache.commons.httpclient.HttpMethodBase“ wird den Antworttext großer oder unbekannter Größen in AEM puffern

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.

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?