Значение и решение для сообщения об ошибке 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