Maison > Java > javaDidacticiel > le corps du texte

Comment éviter les délais d'attente de connexion dans les applications Spring Boot à l'aide de JPA-Hibernate et MySQL ?

Barbara Streisand
Libérer: 2024-10-25 00:09:02
original
690 Les gens l'ont consulté

How to Prevent Connection Timeouts in Spring Boot Applications Using JPA-Hibernate and MySQL?

Délai d'expiration de connexion dans Spring Boot avec Jpa-Hibernate et MySQL

Les applications Spring Boot utilisent souvent le framework JPA-Hibernate pour faciliter les interactions avec les bases de données. Cependant, un défi courant rencontré concerne les échecs de connexion après un intervalle de temps spécifié, en particulier lorsqu'il s'agit de MySQL comme base de données sous-jacente.

Dans de tels scénarios, le journal de l'application affiche généralement un message d'erreur indiquant : "Le dernier paquet a réussi reçu du serveur il y a X millisecondes...", où X dépasse la valeur du délai d'attente configurée par le serveur.

Pour résoudre ce problème, plusieurs approches ont été suggérées, notamment l'utilisation de spring.datasource.testOnBorrow =propriétés true et spring.datasource.validationQuery. Cependant, ces méthodes sont généralement déconseillées.

Solution recommandée : mettre en œuvre la validation de la connexion

La solution privilégiée consiste à mettre en œuvre la validation de la connexion tout au long de la durée de vie de l'application. Cela peut être accompli en configurant les propriétés suivantes :

  • spring.datasource.max-active : spécifiez le nombre maximal de connexions actives autorisées dans le pool.
  • spring.datasource.initial-size : Définissez le nombre initial de connexions à créer dans le pool.
  • spring.datasource.max-idle et spring.datasource.min-idle : Définissez les connexions inactives minimales et maximales.
  • spring .datasource.test-while-idle=true : Valider les connexions pendant les périodes d'inactivité.
  • spring.datasource.test-on-borrow=true : Valider les connexions lors de leur récupération du pool.
  • spring.datasource.validation-query : fournissez une requête de validation pour tester les connexions.

Ces paramètres permettent une validation périodique des connexions lorsqu'elles sont inactives, permettant au pool de détecter et de supprimer les connexions rompues.

Validation automatique des connexions dans HikariCP

En raison de l'adoption par Spring Boot 2.x de HikariCP comme pool de connexions par défaut, la validation de connexion est désormais effectuée automatiquement par HikariCP lors de l'utilisation du mécanisme de validation JDBC.

Ainsi, en activant la validation et en fournissant des configurations appropriées pour la gestion des connexions, il est possible d'atténuer les erreurs de délai de connexion et de garantir des interactions de base de données fiables dans les applications Spring Boot utilisant JPA-Hibernate avec MySQL.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!