Значение и решение для сообщения об ошибке Spring 3? "Рекомендуется использовать getResponseBodyAsStream"

Я использую Spring 3 и каждый раз, когда я отправляю HTML-форму в контроллер Spring, я получаю это сообщение, которое я не понимаю:

org.apache.commons.httpclient.HttpMethodBase getResponseBody
WARNING: Going to buffer response body of large or unknown size. 
Using getResponseBodyAsStream instead is recommended.

Можно ли изменить конфигурацию в Spring, чтобы избежать этого?

Ответ 1

Это происходит с API-интерфейсом commons-httpclient, когда используется метод getResponseBody(). Предупреждение означает, что тело ответа потенциально может быть очень большим (например, большая загрузка файла и т.д.) И одновременно загружать все это в память, поскольку строка может быть очень неэффективной. Способ избежать этой потенциальной неэффективности заключается в использовании метода getResponseBodyAsStream(), который позволит обеспечить правильную буферизацию и потоковое воспроизведение тела ответа.

Я не уверен, почему Spring использует getResponseBody(). Может быть, это ваш HTTP-клиент? Вы используете пользовательский HTTP-клиент для выполнения запроса?

Ответ 2

Вы можете добавить конфигурацию http.method.response.buffer.warnlimit=1024*1024*10 в application.properties. он работает для меня.

Ответ 3

Я получаю аналогичную проблему, может кто-нибудь сказать мне, где вносить изменения свойств на сервере Tomcat, как указано http.method.response.buffer.warnlimit = 1024 * 1024 * 10