今天在測試工程時發(fā)現(xiàn)一個action執(zhí)行了2遍 ,這個操作大致需要5分多鐘才能完成,工程環(huán)境 apache2+tomcat6.0。
網(wǎng)上搜索發(fā)現(xiàn)了幾個可以設(shè)置超時的地方:
1.ajax 語法去設(shè)置單位毫秒,例如:
$.ajax({
url: XXX,
timeout: 600000,
type: 'POST',
data: {
},
error: function() {
show_fail_meg("啟動系統(tǒng)失敗 !");
}
});
2.tomcat配置 server.xml 單位毫秒
Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
3.apache的配置文件 httpd.conf,單位秒
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 60
修改以上幾個地方,發(fā)現(xiàn)還是沒有生效,最終定位在了mod_jk模塊,
mod_jk 簡稱JK,是Apache服務(wù)器的一個可插入模塊,用以為Apache或IIS服務(wù)器提供處理JSP/Servlet的能力。
也就是說JK的設(shè)置可能覆蓋了apache2和tomcat以及ajax的設(shè)置。
JK的配置文件/etc/httpd/conf/workers.properties內(nèi)容如下:
worker.master.socket_timeout=300
果然看到這個數(shù)字正好是5分鐘,跟異常現(xiàn)象相一致,改大之后重啟,正常!
您可能感興趣的文章:- Ajax 超時檢查腳本
- ajax提交session超時跳轉(zhuǎn)頁面使用全局的方法來處理
- Ajax請求在數(shù)據(jù)量大的時候出現(xiàn)超時的解決方法
- 登錄超時給出提示跳到登錄頁面(ajax、導(dǎo)入、導(dǎo)出)