"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment éviter la perte de connexion de la base de données après 424 heures à Spring Boot avec Hibernate?

Comment éviter la perte de connexion de la base de données après 424 heures à Spring Boot avec Hibernate?

Publié le 2025-03-22
Parcourir:997

How to Prevent Database Connection Loss After 424 Hours in Spring Boot with Hibernate?

Résolution de la perte de connexion de la base de données après 424 heures dans Spring Boot avec Hibernate

Un problème se pose dans une application de démarrage de printemps en utilisant JPA-Hibernate avec MySQL lorsque la connexion à la base de données est perdue après une durée de 424 heures. Le journal d'erreur s'affiche:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 56,006,037 milliseconds ago.  The last packet sent successfully to the server was 56,006,037 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

pour résoudre ce problème Validation de la connexion et configuration du pool printemps.datasource.max-active = 10 printemps.datasource.Initial-Size = 5 printemps.datasource.max-idle = 5 printemps.datasource.min-idle = 1 # Validation de connexion périodique printemps.datasource.test-while-idle = true printemps.datasource.validation-query = select 1 # Gestion de la connexion inactive printemps.datasource.Time-between-fic-runs-millis = 5000 printemps.datasource.min-evictable-idle-time-millis = 60000

# Connection validation and pool configuration
spring.datasource.max-active=10
spring.datasource.initial-size=5
spring.datasource.max-idle=5
spring.datasource.min-idle=1

# Periodic connection validation
spring.datasource.test-while-idle=true
spring.datasource.validation-query=SELECT 1

# Idle connection management
spring.datasource.time-between-eviction-runs-millis=5000
spring.datasource.min-evictable-idle-time-millis=60000

établir un nombre maximal de connexions actives (Spring.datasource.max-active). (printemps.datasource.test-while-idle).

    supprimer les connexions inactives si elles n'ont pas été utilisées dans un temps spécifié (printemps.datasource.min-exictable-idle-time-millis). Connectivité de la base de données même après de prolongations de périodes d'inactivité.
Déclaration de sortie Cet article est reproduit sur: 1729757864 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3