异常:Connection reset by peer: socket write error
一、第一反应
考虑:因为异常出现在报表的功能模块中,并且是在查询结果数量比较大的时候才出现,于是思维固化的认为是报表填充的问题。
怀疑:报表工具不可能填充1W条记录就挂掉吧?
?
二、google该异常的解释:
当客户端发出请求(request)后,如果还没有完全获得服务端的响应(response),客户端与服务器段的连接断开(例如断网、按了“停止”按钮、或者客户端浏览器关闭等),服务器端就会抛出此Exception。
出现Connection reset by peer的原因可能是多方面的,通常原因是:?
1、服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;?
2、客户关掉了浏览器,而服务器还在给客户端发送数据;?
3、浏览器端按了Stop?
逐条被排除。
?
三、郁闷的过程中,继续其他任务。发现form表单提交出现了乱码,原来是ajaxForm提交引起的,再一看
?
var options = { success: showResponse, url: '${ctx}/report/exportReportToHtml.action', timeout: 1000 }; $('#filter_form').ajaxForm(options); $("#filter_search").click(function(){});?
?
?
原因:原来是ajax提交的时候,设置了timeout:1000,悲愤!
?
?