Maison > base de données > tutoriel mysql > Comment résoudre les interruptions de connexion à la base de données Spring Boot JPA/Hibernate ?

Comment résoudre les interruptions de connexion à la base de données Spring Boot JPA/Hibernate ?

Patricia Arquette
Libérer: 2024-12-09 18:33:15
original
769 Les gens l'ont consulté

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

Résolution des interruptions de connexion à la base de données dans Spring Boot avec jpa-hibernate

Le message d'erreur indique que la connexion entre votre application Spring Boot et la base de données MySQL a été interrompu en raison d'une inactivité dépassant le délai d'attente configuré par le serveur. Pour résoudre ce problème, plusieurs approches sont recommandées :

1. Activation de la reconnexion automatique :

Une solution immédiate consiste à activer la reconnexion automatique dans l'URL JDBC :

spring.datasource.url = jdbc:mysql://localhost:3306/test?autoReconnect=true
Copier après la connexion

Cependant, cette méthode n'est pas recommandée car elle peut entraîner un comportement inattendu lors transactions actives.

2. Validation de la connexion :

Une approche plus efficace consiste à activer la validation de la connexion tout au long de la durée de vie de votre application. Configurez les propriétés suivantes :

  • Connexions actives maximales :

    spring.datasource.max-active=10
    Copier après la connexion
  • Connexions initiales :

    spring.datasource.initial-size=5
    Copier après la connexion
  • Connexion inactive limites :

    spring.datasource.max-idle=5
    spring.datasource.min-idle=1
    Copier après la connexion
  • Requête et timing de validation :

    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
    Copier après la connexion

Cette configuration garantit que les connexions inactives sont validées régulièrement et que les connexions interrompues sont retirés de la piscine.

3. Pool de connexions HikariCP :

Spring Boot 2.x utilise par défaut HikariCP comme pool de connexions. HikariCP fournit une validation automatique de la connexion, de sorte que la propriété validation-query peut être omise.

Remarque : Bien que l'utilisation d'une requête de validation soit déconseillée, HikariCP a sa propre méthode de validation de connexion, qui est plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal