Java Spring3错误消息的含义和解决方案&引用;建议改用getResponseBodyAsStream“;

Java Spring3错误消息的含义和解决方案&引用;建议改用getResponseBodyAsStream“;,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在使用Spring 3,每次我向Spring控制器提交HTML表单时,我都会收到这样一条消息,我不明白: org.apache.commons.httpclient.HttpMethodBase getResponseBody WARNING: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended. 我可以在Spring中进行

我正在使用Spring 3,每次我向Spring控制器提交HTML表单时,我都会收到这样一条消息,我不明白:

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

我可以在Spring中进行配置更改以避免这种情况吗?

当使用getResponseBody()方法时,commons httpclient API会发生这种情况。该警告意味着响应体可能非常大(如下载大型文件等),而将整个内容作为字符串一次性加载到内存中可能效率非常低。避免这种潜在低效的方法是使用getResponseBodyAsStream(),这将允许对响应体进行适当的缓冲和流式处理


我不确定Spring为什么使用getResponseBody()。可能是您的HTTP客户端吗?是否使用自定义编写的HTTP客户端执行请求?

您可以在application.properties中添加配置
HTTP.method.response.buffer.warnlimit=1024*1024*10
。它适合我。

我不知道你所说的“自定义编写的HTTP客户端”是什么意思。我在服务器端使用Spring/Jetty,在客户端使用Firefox。由于您使用的是Firefox,该警告可能是由Spring使用GetResponseBy()触发的。如果是这样的话,我就不会太担心了。如果警告困扰您,您可以更改log4j配置以抑制该警告,但这不太可能引起警报。