ホームページ > データベース > mysql チュートリアル > Hibernate と MySQL で Spring Boot 接続プールのタイムアウトを修正する方法は?

Hibernate と MySQL で Spring Boot 接続プールのタイムアウトを修正する方法は?

Mary-Kate Olsen
リリース: 2024-12-18 01:32:10
オリジナル
873 人が閲覧しました

How to Fix Spring Boot Connection Pool Timeouts with Hibernate and MySQL?

Hibernate および MySQL を使用した Spring Boot での接続プールのタイムアウト

Spring Boot、JPA-Hibernate、および MySQL を使用すると、ユーザーがタイムアウトに遭遇する可能性があります「CommunicationsException」の問題を示すエラー。この問題に対処するために、推奨されるアプローチには、接続検証を有効にし、プール内で許可される接続の最大数を指定することが含まれます。

接続プールのプロパティを構成します:

次のプロパティを設定して接続プールを構成します。 application.properties:

  • spring.datasource.max-active: アクティブな接続の最大数 (デフォルト: 8)
  • spring.datasource.initial-size: 初期接続の数 (デフォルト: 0)
  • spring.datasource.max-idle: アイドル状態の接続の最大数 (デフォルト: 8)
  • spring.datasource.min-idle: アイドル状態の接続の最小数 (デフォルト: 0)
  • spring.datasource.time-between-eviction-runs-millis: 接続検証間の時間チェック数 (デフォルト: 5000) ms)
  • spring.datasource.min-evictable-idle-time-millis: 接続が削除されるまでの最小アイドル時間 (デフォルト: 60000 ミリ秒)

接続を有効にする検証:

接続を定期的に検証し、切断された接続を削除しますプールから取得したものについては、次のプロパティを設定します。

  • spring.datasource.test-while-idle: アイドル状態の接続を検証します (デフォルト: false)
  • spring.datasource。 test-on-borrow: プールから接続を借用する前に接続を検証します (デフォルト: false)
  • spring.datasource.validation-query: 接続検証のために実行する SQL クエリ (デフォルト: SELECT 1)

代替アプローチ (非推奨):

推奨はしませんが、JDBC URL で autoReconnect=true を指定して自動的に再接続することもできますタイムアウトが発生したとき:

spring.datasource.url = jdbc:mysql://localhost:3306/test?autoReconnect=true
ログイン後にコピー

ただし、この方法では、再接続が発生したときにアクティブなトランザクション中に問題が発生する可能性があります。

これらの設定を実装することで、接続がアクティブにテストされ、削除されることを保証できます。アイドル時にタイムアウト エラーを防ぎ、アプリケーションのデータベースへの接続の安定性を維持します。

以上がHibernate と MySQL で Spring Boot 接続プールのタイムアウトを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート