2013-02-01 48 views
1

我們遇到問題org.springframework.jdbc.datasource.SingleConnectionDataSource大約40分鐘不活動後關閉SingleConnectionDataSource連接

我們期望在應用程序運行時連接永遠不會關閉,即使應用程序和db之間沒有流量。

我們配置了數據源與 <property name="suppressClose" value="true"/>什麼應該解決問題。

而問題在於連接在大約30-40分鐘不活動之後關閉(當db和應用程序之間沒有流量時)。

也許有SingleConnectionDataSource經驗的人可以幫助如何解決這個錯誤或功能。

+1

連接可以從數據庫端關閉嗎?你有沒有在你的代碼中設置任何超時值? – Mick

+1

你正在使用哪個數據庫,例如mysql的mysql在連接完成後有一個wait_timeout屬性。 – Anugoonj

+0

終於好像不是java的問題了。但無論如何感謝您的幫助。 –

回答

0

如果在SimpleConnectionDataSource下使用MySql連接,那麼它通常會在閒置30-40分鐘後丟失。即使您使用直連JDBC並通過以下方式創建連接:

Class.forName("com.mysql.jdbc.Driver"); 
Connection conn = DriverManager 
       .getConnection("jdbc:mysql://localhost/mydatabase?user=username&password=pass"); 

它也會在30-40分鐘後丟失。