ホームページ >データベース >mysql チュートリアル >Spring Boot JPA/Hibernate データベース接続の中断を解決するにはどうすればよいですか?
jpa-hibernate を使用した Spring Boot でのデータベース接続の中断を解決する
エラー メッセージは、Spring Boot アプリケーションと MySQL データベース間の接続が切断されていることを示しています。サーバーの設定された待機タイムアウトを超えた非アクティビティのため、終了されました。この問題に対処するには、いくつかの推奨されるアプローチがあります。
1. AutoReconnect の有効化:
当面の解決策は、JDBC URL:
spring.datasource.url = jdbc:mysql://localhost:3306/test?autoReconnect=true
で自動再接続を有効にすることです。ただし、この方法は、実行中に予期しない動作が発生する可能性があるため推奨されません。アクティブなトランザクション。
2.接続検証:
より効果的なアプローチは、アプリケーションの存続期間全体にわたって接続検証を有効にすることです。次のプロパティを設定します:
アクティブな最大接続数:
spring.datasource.max-active=10
初期接続:
spring.datasource.initial-size=5
アイドル状態の接続制限:
spring.datasource.max-idle=5 spring.datasource.min-idle=1
検証クエリとタイミング:
spring.datasource.test-while-idle=true spring.datasource.test-on-borrow=true spring.datasource.validation-query=SELECT 1 spring.datasource.time-between-eviction-runs-millis=5000 spring.datasource.min-evictable-idle-time-millis=60000
この構成により、アイドル状態の接続が定期的に検証され、接続が切断されることが保証されます。プールから削除されます。
3. HikariCP 接続プール:
Spring Boot 2.x は、デフォルトで、HikariCP を接続プールとして使用します。 HikariCP は自動接続検証を提供するため、validation-query プロパティを省略できます。
注: 検証クエリの使用は推奨されませんが、HikariCP には独自の接続検証方法があります。効率的です。
以上がSpring Boot JPA/Hibernate データベース接続の中断を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。