我正在使用ServletResponse.setBufferSize增加响应的缓冲区大小,但Tomcat 7仍然抛出缓冲区大小不够大的异常。这是Tomcat 7.0.32中的错误吗?ServletResponse.setBufferSize在Tomcat 7中不起作用?
这里是我的伪/码 -
@Override
protected void writeInternal(Object o, HttpOutputMessage outputMessage)
throws IOException, HttpMessageNotWritableException {
if (some condition)
{
((ServletServerHttpResponse)outputMessage).getServletResponse().setBufferSize(Integer.MAX_VALUE);
outputMessage.getHeaders().set("Custom-Header", gson.toJson(big payload));
}
// ...
这是例外 -
org.apache.coyote.http11.HeadersTooLargeException
:试图写入更多的数据,以响应头不是有房间可用在缓冲区中。增加连接器上的maxHttpHeaderSize或将更少的数据写入响应头。
我需要重置缓冲区吗? reset()
没有工作。
编辑:我正在寻找能够根据“某些条件”在个人响应级别更改最大标题大小。
的
maxHttpHeaderSize
属性传递有效载荷为响应体,而不是'定制Header.' – EJP