Maison >base de données >tutoriel mysql >Comment résoudre les interruptions de connexion à la base de données Spring Boot JPA/Hibernate ?
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
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
Connexions initiales :
spring.datasource.initial-size=5
Connexion inactive limites :
spring.datasource.max-idle=5 spring.datasource.min-idle=1
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
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!