Maison  >  Article  >  Java  >  Voici quelques options de titre, axées sur le format question-réponse et englobant le contenu de l'article : **Option 1 (Focus sur l'erreur) :** * **Spring Boot JPA/Hibernate : Comment réparer \"Co

Voici quelques options de titre, axées sur le format question-réponse et englobant le contenu de l'article : **Option 1 (Focus sur l'erreur) :** * **Spring Boot JPA/Hibernate : Comment réparer \"Co

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 18:12:44338parcourir

Here are a few title options, focusing on the question-answer format and encompassing the article's content:

**Option 1 (Focus on the Error):**

* **Spring Boot   JPA/Hibernate: How to Fix

Délai d'expiration de la connexion dans Spring Boot avec JPA et Hibernate

Lors de l'utilisation de Spring Boot avec JPA-Hibernate et MySQL, vous pouvez rencontrer l'erreur suivante :

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

Ce problème survient en raison d'une inactivité prolongée de la connexion,導致伺服器終止連線。

Solution non recommandée

Une solution courante Une approche pourtant déconseillée consiste à activer les tests de connexion lors de l'emprunt :

spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1

Solution recommandée

Une solution plus complète implique :

  • Définition du spring.datasource.url pour inclure la propriété autoReconnect :

    spring.datasource.url = jdbc:mysql://localhost:3306/test?autoReconnect=true
  • Spécification du nombre maximal de connexions actives :

    spring.datasource.max-active=10
  • Spécification des connexions initiales :

    spring.datasource.initial-size=5
  • Définition des connexions inactives maximales et minimales :

    spring.datasource.max-idle=5
    spring.datasource.min-idle=1
  • Activation de la validation des connexions :

    spring.datasource.test-while-idle=true
    spring.datasource.test-on-borrow=true
  • Spécification de la requête de validation et du délai d'expiration de la connexion inactive :

    spring.datasource.validation-query=SELECT 1
    spring.datasource.time-between-eviction-runs-millis=5000
    spring.datasource.min-evictable-idle-time-millis=60000

Remarque pour HikariCP

Dans Spring Boot 2.x, le pool de connexions a été basculé vers HikariCP. Reportez-vous à la documentation HikariCP pour d'autres options de configuration.

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!

Déclaration:
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