診斷「com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 連接關閉後不允許操作」錯誤
遠端連線時,由於連線斷開,您可能會遇到「連線關閉後不允許執行任何操作」錯誤。預設情況下,MySQL 有一個 wait_timeout 設置,可以導致連接在一段時間不活動後關閉。在長時間的應用程式運作期間或網路不穩定時,可能會發生這種情況。
使用 C3P0 進行連接池
要解決此問題,建議使用連接池庫,例如C3P0。 Hibernate 的本機連接池是有限的,不適合生產環境。連線池建立了一個由應用程式管理和重複使用的連線池,減少了為每個查詢建立新連線的開銷。
使用Hibernate 設定C3P0
這裡使用C3P0 的更新設定檔:
在此設定中,使用池大小、逾時和池大小連線測試的適當設定啟用C3P0 連線提供者。
其他潛在原因
如果連接池無法解決問題,則值得調查其他潛在原因,例如:
以上是如何修正 Hibernate 中的「com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:連線關閉後不允許操作」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!