Spring Boot アプリケーションは、データベースの対話を容易にするために JPA-Hibernate フレームワークをよく利用します。ただし、遭遇する一般的な課題は、特に基盤となるデータベースとして MySQL を扱う場合に、指定した時間間隔の後に接続が失敗することです。
このようなシナリオでは、通常、アプリケーション ログに「最後のパケットは正常に送信されました」というエラー メッセージが表示されます。サーバーから受信したのは X ミリ秒前です...」 ここで、X はサーバーに設定された待機タイムアウト値を超えています。
この問題に対処するために、spring.datasource.testOnBorrow の使用を含む、いくつかのアプローチが提案されています。 =true および spring.datasource.validationQuery プロパティ。ただし、これらの方法は一般に推奨されません。
推奨される解決策は、アプリケーションの存続期間全体にわたって接続検証を実装することです。これは、次のプロパティを構成することで実現できます:
これらの設定により、アイドル状態の接続の定期的な検証が有効になり、プールが壊れた接続を検出して削除できるようになります。
Spring Boot 2.x ではデフォルトの接続プールとして HikariCP が採用されているため、JDBC 検証メカニズムを使用するときに接続検証が HikariCP によって自動的に実行されるようになりました。
したがって、検証を有効にし、接続管理に適切な構成を提供することで、接続タイムアウト エラーを軽減し、JPA-Hibernate と MySQL を使用する Spring Boot アプリケーションでの信頼性の高いデータベース インタラクションを確保することができます。
以上がJPA-Hibernate と MySQL を使用して Spring Boot アプリケーションでの接続タイムアウトを防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。