2012-11-17 190 views
1

作爲標準程序之後,MySQL連接丟失後陳述的小時(默認值:8)數目不活動。爲了確定這樣的連接後重新連接到MySQL服務器丟了,我根本就connection = DriverManager.getConnection(url, user, password);重新連接到MySQL連接超時

我不使用連接池,併爲這一招沒有在以前的連接丟失相關的帖子,讓我不知道是否我的代碼會產生任何提及後期的副作用? (我這樣說是因爲上面的測試實例此代碼後,我發現sessionlistner session.invalidate()調用之後不叫。)

回答

1

,如果你的連接中斷,您將失去臨時表和會話設置。這聽起來像一個連接池會在你的情況下有用。

+0

是的,我想我正在經歷這個。儘管我重新獲得了MySql連接,但是tomcat沒有更多的連接信息。我不希望在網站上面臨任何繁重的流量,因此嘗試使用調度程序,及時向數據庫發出查詢,以保持連接活躍[link for即](http://stackoverflow.com/questions/4691132/how-to-keep-the-servlet-continously-running/4691650#4691650)。如果這不起作用,連接池將是我最後的手段。 – mrig

1

取決於你如何處理連接對象(S),它可以創建小客戶端連接對象丟失的內存泄漏。但是,這種影響可能會很小,以至於你永遠不會看到任何問題。

爲了最大限度地降低此風險,您可以在空閒時間內每隔幾分鐘通過SELECT 1執行一些操作,使連接仍處於活動狀態(除非您的客戶端完全關閉)。

+0

謝謝mvp,我想我會試一試在java servlet中使用調度器。 – mrig