JDBC 連線逾時解決方案:調查Wait_Timeout 錯誤
本文解決了使用JPA Hibernate 和MySQL 的Spring BootSQL 應用程式遇到的Spring BootSQL問題指定時間後終止。此錯誤訊息表示已超出 MySQL 伺服器的 wait_timeout 配置。
可能的解決方案
最初,開發人員確定了「testOnBorrow」和「validationQuery」選項,但不建議使用這些來解決逾時問題
推薦方法:配置連接驗證和池行為
首選解決方案包括配置連接驗證和池行為,以確保識別並刪除空閒或有問題的連接.
JDBC URL 參數
新增JDBC URL 的「autoReconnect」參數是一個快速修復方法,但應謹慎使用,因為它可能會導致活動事務期間出現問題。
spring.datasource.max-active
設定此參數限制了最大活躍連線數pool.
spring.datasource.initial -size
指定池中的初始連線數。
spring.datasource。最大空閒 和spring.datasource.min-idle
配置最大和最小空閒連接數。
spring.datasource.test-while-idle和spring.datasource.test-on-borrow
這些參數啟用空閒時或從池中檢索時進行連線驗證。
spring.datasource.validation-query
此參數指定用於連接驗證的查詢。
注意: 如果出現以下情況,請使用 JDBC4 驗證方法而不是「validationQuery」選項可用。
spring.datasource.time- Between-eviction-runs-millis 和spring.datasource.min-evictable-idle-time-millis
這些參數控制從池中驅逐空閒連接的頻率和標準。
透過實現這些配置後,您的應用程式將定期驗證連接並刪除無效連接,從而防止連接逾時錯誤。 Spring Boot 2.x 使用 HikariCP 作為預設連線池,它提供了增強的連線管理功能。建議查閱其文件以了解更多設定選項。
以上是如何解決Spring Boot應用程式中的JDBC連線逾時錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!