一、第一反應
考慮:因為異常出現在報表的功能子產品中,并且是在查詢結果數量比較大的時候才出現,于是思維固化的認為是報表填充的問題。
懷疑:報表工具不可能填充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,悲憤!