gpt4 book ai didi

java - ServletResponse.setBufferSize 在 Tomcat 7 中不起作用?

转载 作者:搜寻专家 更新时间:2023-10-31 20:02:40 25 4
gpt4 key购买 nike

我正在使用 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));
}

// ...

这是异常(exception)-

org.apache.coyote.http11.HeadersTooLargeException:尝试向响应 header 写入比缓冲区中可用空间更多的数据。增加连接器上的 maxHttpHeaderSize 或将更少的数据写入响应 header 。

我需要重置缓冲区吗? reset() 无效。

编辑:我正在寻找根据“某些条件”在单个响应级别更改最大 header 大小的能力。

最佳答案

消息是关于header 大小的,而不是总缓冲区大小。来自Tomcat Configuration Guide section on "The HTTP Connector"

maxHttpHeaderSize

The maximum size of the request and response HTTP header, specified in bytes. If not specified, this attribute is set to 8192 (8 KB).

关于java - ServletResponse.setBufferSize 在 Tomcat 7 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21638890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com