现象描述
今日和三方交互时发现一个问题,同样的代码,有些能成功,有些则会失败,程序接收数据格式是json格式,客户端请求的也是json格式,发现失败的请求json体的大小均大于2M,服务端未报任何错误(我并没有检查tomcat日志,只是检查了业务系统的日志),单步调试发现json转成的object不是null,但里面的字段值全是null。
问题所在
tomcat的http post body缓冲区大小默认2M,超过2M就会出现上述现象。
解决问题
修改tomcat的配置文件 T O M C A T H O M E TOMCAT_HOME TOMCATHOME/conf/server.xml,找节点,在该节点中添加”maxPostSize”属性,将该属性值设置成你想要的最大值(单位:byte,0和负数表示不限制)。我修改为10M 也就是83886080,然后测试通过。