關於java.sql.SQLRecoverableException: Closed Connection異常的解決方案(轉)

來源:互聯網
上載者:User

標籤:blog   http   io   os   使用   ar   java   for   strong   

在項目中碰到了一個應用異常,從表象來看應用僵死。查看Weblogic狀態為Running,記憶體無溢出,但是出現多次線程堵塞。查看Weblogic日誌,發現程式出現多次Time Out。

我們知道,Weblogic會自動檢測線程運行逾時,當超過特點時間(預設600S),即認為此線程為堵塞線程。在日誌中發現多次堵塞線程,通過尋找資料,發現Weblogic在發生多次線程堵塞後,會自動把應用掛起。預設次數為15次。

 

是什麼造成了線程堵塞呢?通過進一步分析日誌,我們發現線上程堵塞之前,發生了多次java.sql.SQLRecoverableException: Closed Connection異常。異常情況:

 

從表現來看是資料庫連接出了異常。我們對資料庫和網路進行了分析,確定資料庫和網路都無異常。我們的另外一個應用在Weblogic運行沒有類似問題。

 

最後在Oracle的論壇上找到了問題的根結,由於我們的應用是自己開發的資料庫連接池,應用和資料庫之間有一層防火牆。防火牆策略是對於1800s未使用的Socket串連將自動關閉。Oracle的日誌中也發現Socket異常關閉的異常。我們對應用進行了調整,當串連池中的串連15分鐘不用時,自動回收,問題解決。

 

http://blog.csdn.net/gavinloo/article/details/12206763

 

JDK1.6:
java.sql
Interface Statement:
setQueryTimeout
void setQueryTimeout(int seconds)                     throws SQLException
Sets the number of seconds the driver will wait for a Statement object to execute to the given number of seconds. If the limit is exceeded, an SQLException is thrown. A JDBC driver must apply this limit to the execute, executeQuery and executeUpdate methods. JDBC driver implementations may also apply this limit to ResultSet methods (consult your driver vendor documentation for details).

 

Parameters:
seconds - the new query timeout limit in seconds; zero means there is no limit
Throws:
SQLException - if a database access error occurs, this method is called on a closed Statement or the condition seconds >= 0 is not satisfied
See Also:
getQueryTimeout()
 

 

關於java.sql.SQLRecoverableException: Closed Connection異常的解決方案(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.