2016-07-26 59 views
0

我創建了一個應用程序,使用播放Java Framework。我正在使用MySQL數據庫。播放java mysql應用程序在很長的空閒時間後斷開連接(可能在8小時後)

的conf/application.conf:

JDBC_DRIVER = com.mysql.jdbc.Driver 
DB_URL = "jdbc:mysql://localhost/<database_name>" 
USER = root 
PASS = "root" 

我的戲的框架應用程序的空閒時間小時後下降。所以,我必須重新啓動應用程序,然後開始工作。

如何在長時間空閒後重新連接mysql數據庫連接。

當我嘗試在進入空閒時間後登錄到應用程序。它會拋出錯誤 - No operations allowed after connection closed

任何幫助?

+0

也許是在黑暗中拍攝的,但是在空閒的情況下,難道你不能製作一個睡眠時間爲1小時的while循環,並且爲了保持連接而對數據庫進行「選擇1」? – Elsendion

+0

@Elsendion:我也這麼想(笑)。但這不是一個好做法。還要別的嗎? – iNikkz

+0

選中此項。那個靜態類看起來不錯。 http://stackoverflow.com/questions/15196739/how-to-keep-connection-alive-in-java – Elsendion

回答

1

我認爲默認的連接池是由HikariCP管理的。這可能有助於您查看Hikari中的參數,以查看超時/空閒超時設置(以及組合方式)是否有所幫助。

https://github.com/brettwooldridge/HikariCP

我假設在這裏不使用boneCP,其設定的參數和默認值略有不同。 http://www.jolbox.com/

+0

不知道HikariCP。我正在使用**「mysql」%「mysql-connector-java」%「5.1.28」**庫。 – iNikkz

+0

我得到的是HikariCP。 HikariCP在播放框架中的默認值高於版本2.4 *,但我使用的是2.3.2。所以,這裏BoneCP是默​​認的,看起來BoneCP不能正確處理連接泄漏。所以,我將HikariCP配置到了我的項目中,但我面臨着問題。我在這裏發佈了問題'https:// github.com/edulify/play-hikaricp.edulify.com/issues/76'。請檢查。 – iNikkz

相關問題