我有一個在Win2k3虛擬機上的Apache Tomcat 5.5上運行的應用程序。該應用程序提供XML以供某些電話設備使用,作爲我們的IVR基礎設施的一部分。反過來,應用程序接收來自少數SOAP服務的信息。java.net.SocketException:導致連接中斷的軟件:recv failed;原因和治療?
今天早上,SOAP服務間歇性超時,導致各種異常。一旦停止,我注意到我們的應用程序仍然表現得非常慢,因爲它花了很長時間來渲染和交付頁面。在使用Tomcat輸出的設備上,以及從我的Web瀏覽器請求一些靜態文檔的簡單測試中都看到了這種緩慢。
重新啓動Tomcat立即解決了問題。
破解打開本地主機的日誌,我看到一噸的這些錯誤的,正確的,直到我重新啓動Tomcat的:
WARNING: Exception thrown whilst processing POSTed parameters
java.net.SocketException: Software caused connection abort: recv failed
大的谷歌搜索後,我的工作原理是,SOAP問題引起我的用戶得到錯誤,導致他們提出更多請求,這會增加應用程序的負載。這導致它用盡了可用的套接字來處理傳入的請求。
所以,這是我的窘境:
1.這是一個有效的假設,或者我只是在我的頭上與HTTP和Tomcat?
2.如果這是一個有效的假設,是否有辦法增加「套接字隊列」的大小,以便將來不會發生這種情況?
謝謝!
IVR復仇者
[官方原因爲「軟件引起的連接中止:套接字寫入錯誤」]的可能的重複(http://stackoverflow.com/questions/2126607/official-reasons-for-software-caused-connection-abort-socket-寫錯誤) – EJP 2012-09-18 06:07:52