org.apache.commons.httpclient.HttpMethodBase Indo para o corpo de resposta do buffer de avisos de tamanho grande ou desconhecido no AEM

Problema

Avisos como o abaixo são observados nos logs:

* WARN * [10.89.13.88 [1486623761832] GET /content/abc/en/search.html HTTP / 1.1] org.apache.commons.httpclient.HttpMethodBase Indo para o corpo de resposta do buffer de tamanho grande ou desconhecido. O uso de getResponseBodyAsStream é recomendado

Ambiente

Código de aplicativo personalizado usando Apache Commons HttpClient 3.x.

Causa

Isso ocorre com a API commons-httpclient 3.x quando o método getResponseBody() ou getResponseBodyAsString() é usado. O aviso significa que um corpo de resposta poderia ser muito grande (como uma pesquisa retornando uma resposta grande, etc.).  Quando isso ocorre, ele carrega toda a resposta na memória de uma vez, o que é ineficiente.

Resolução

Modifique o código do seu aplicativo para usar getResponseBodyAsStream() e ler a partir do InputStream em vez de ler tudo isso em uma String grande.

Logotipo da Adobe

Fazer logon em sua conta