ホームページ >データベース >mysql チュートリアル >Spring Boot JPA/Hibernate データベース接続の中断を解決するにはどうすればよいですか?

Spring Boot JPA/Hibernate データベース接続の中断を解決するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-09 18:33:15698ブラウズ

How to Resolve Spring Boot JPA/Hibernate Database Connection Interruptions?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。