Maison > Java > javaDidacticiel > le corps du texte

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

Patricia Arquette
Libérer: 2024-10-24 18:38:06
original
313 Les gens l'ont consulté

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

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

Un problème survient dans une application Spring Boot utilisant JPA-Hibernate avec MySQL lors de la connexion à la base de données est perdu après une durée de 424 heures. Le journal des erreurs 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.
Copier après la connexion

Pour résoudre ce problème, il est recommandé de configurer les propriétés de connexion appropriées dans le fichier de configuration de l'application (par exemple, application.properties) :

<code class="properties"># 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</code>
Copier après la connexion

Ces Les paramètres permettent au pool de connexions de :

  • Établir un nombre maximum de connexions actives (spring.datasource.max-active).
  • Valider périodiquement les connexions (spring.datasource.test-while -idle).
  • Supprimez les connexions inactives si elles n'ont pas été utilisées dans un délai spécifié (spring.datasource.min-evictable-idle-time-millis).

En implémentant Ces configurations, le pool de connexions testera régulièrement la validité des connexions et remplacera celles devenues obsolètes, garantissant ainsi une connectivité stable à la base de données même après de longues périodes d'inactivité.

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
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