2015-07-02 102 views
0

我遇到了一個罕見的問題,我部署了一場戰爭,它與數據庫服務器(MySQL)的連接如下所示:
我做了這樣的tomcat配置:
連接數據庫在Grails戰爭中數小時後丟失

<Resource name="jdbc/gimnasioBackend" auth="Container" type="javax.sql.DataSour$ 
       maxTotal="100" maxIdle="30" maxWaitMillis="10000" 
       username=["username"] password=["password"] driverClassName="com$ 
       url="jdbc:mysql://localhost:3306/[databaseName]"/> 

,並連接就好了,但事情是,我每天來檢查服務器的狀態,同時也測試在它的網頁,我無法登錄。如果我重新啓動服務器(不推薦,判斷我是紅色的),我可以再次登錄(使用彈簧安全),但時間不長......情況很複雜,主要是因爲它已經在生產中了,舉辦一個應用程序的後端..
在此先感謝!

注意:在這個tomcat中有多個web應用程序,它們都工作正常。

回答

1

,我與Grails的數據源,並連接到Oracle數據庫tomcat的資源配置類似的問題,我決定加入

validationQuery="SELECT 1 FROM DUAL" 
validationQueryTimeout=3 
validationInterval=15000 

如果問題是由於對數據庫連接丟了,我想你可以嘗試添加這些屬性。 mysql的驗證查詢應該是select 1而不是select 1 from dual

+0

感謝您的回覆。要檢查出來。 最有趣的事情是,本地沒有問題.. – pamobo0609

+0

我的問題只在生產中,因爲空閒連接被防火牆關閉在網絡服務器和數據庫之間。有了這些屬性,連接在使用前經過測試並在需要時重新創建。 – GUL

+0

偉大的傢伙。謝謝,今天晚些時候再試! – pamobo0609