Jos*_*ger 5 java tomcat servlets tomcat7
我正在使用ServletResponse.setBufferSize增加响应的缓冲区大小,但Tomcat 7仍然抛出缓冲区大小不够大的异常.这是Tomcat 7.0.32中的错误吗?
这是我的伪/代码 -
@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));
}
// ...
Run Code Online (Sandbox Code Playgroud)
这是例外 -
org.apache.coyote.http11.HeadersTooLargeException:尝试将更多数据写入响应标头,而不是缓冲区中有可用空间.增加连接器上的maxHttpHeaderSize或将更少的数据写入响应头.
我需要重置缓冲区吗? reset()不工作.
编辑:我正在寻找能够根据"某些条件"在个别响应级别更改最大标头大小的能力.