在使用tomcat连接器中的默认值maxpostsize进行测试期间,我们观察到当http正文大于2mb时,系统出现错误。我们尝试将maxpostsize设置为20mb,现在可以了。由于我的系统应该有多个连接,我有以下两个问题没有答案。您知道每个连接的内存消耗是否保留为maxpostsize值吗?如果我将maxpostsize值设置为0或-1,那么大小是无限的,但对java(tomcat内存管理)有什么影响?
jutyujz01#
对于有效负载大于8192字节的请求,在需要时分配存储正文所需的内存(参见源代码)。但是,由于servlet 3,如果应用程序需要大文件上传,请考虑将它们张贴为 multipart/form-data 并使用 @MultipartConfig 注解(参见雅加达ee教程)。作为文件传输的请求参数不计入 maxPostSize 限制并在大于可配置限制时写入临时文件。因此你大概会考虑 maxPostSize 作为存储请求参数所需的最大堆内存。
multipart/form-data
@MultipartConfig
maxPostSize
1条答案
按热度按时间jutyujz01#
对于有效负载大于8192字节的请求,在需要时分配存储正文所需的内存(参见源代码)。
但是,由于servlet 3,如果应用程序需要大文件上传,请考虑将它们张贴为
multipart/form-data
并使用@MultipartConfig
注解(参见雅加达ee教程)。作为文件传输的请求参数不计入maxPostSize
限制并在大于可配置限制时写入临时文件。因此你大概会考虑
maxPostSize
作为存储请求参数所需的最大堆内存。