簡體   English   中英

NamedParameterJdbcTemplate + TomCat,打開和關閉數據庫連接

[英]NamedParameterJdbcTemplate + TomCat, Open and Closing DB Connection

我在TomCat服務器上部署了Spring MVC項目,但與數據庫的連接一直出現問題。 幾個小時后,當用戶嘗試登錄時,將遇到500錯誤和以下消息:

HTTP Status 500 - Request processing failed; nested exception is org.springframework.dao.RecoverableDataAccessException: The last packet successfully received from the server was 75,026,904 milliseconds ago. The last packet sent successfully to the server was 75,031,521 milliseconds ago. is longer than the server configured value of 'wait_timeout'.

我認為問題是因為TomCat認為與MySQL的連接仍處於打開狀態,但是MySQL在8小時后關閉了連接。 收到此錯誤后刷新頁面后,一切正常。

我的問題是,有沒有一種方法可以讓NamedParameterJdbcTemplate用於查詢數據庫,每次使用時都打開和關閉連接,而不是維護一個持久連接? 還是有解決此問題的更好方法?

也許設置autoReconnect = true? 我現在正在嘗試此操作,但是要知道它是否有效還需要幾個小時。

假設您正在使用Tomcat的連接池,則可以將池設置為testOnBorrow =“ true”和validationQuery =“ SELECT 1 FROM my_test_table”。 這樣,將在線程檢出連接之前先檢查連接。 如果關閉,則將打開另一個,並將其提供給服務您的請求的線程。 您可以在此處閱讀Tomcat提供的選項的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM