Heim > Datenbank > MySQL-Tutorial > Wie behebe ich Verbindungsunterbrechungen bei Spring Boot JPA/Hibernate-Datenbanken?

Wie behebe ich Verbindungsunterbrechungen bei Spring Boot JPA/Hibernate-Datenbanken?

Patricia Arquette
Freigeben: 2024-12-09 18:33:15
Original
711 Leute haben es durchsucht

How to Resolve Spring Boot JPA/Hibernate Database Connection Interruptions?

Beheben von Datenbankverbindungsunterbrechungen in Spring Boot mit jpa-hibernate

Die Fehlermeldung weist darauf hin, dass die Verbindung zwischen Ihrer Spring Boot-Anwendung und der MySQL-Datenbank besteht wurde aufgrund einer Inaktivität beendet, die das konfigurierte Wartezeitlimit des Servers überschreitet. Um dieses Problem anzugehen, gibt es mehrere empfohlene Ansätze:

1. Aktivieren von AutoReconnect:

Eine sofortige Lösung besteht darin, die automatische Wiederverbindung in der JDBC-URL zu aktivieren:

spring.datasource.url = jdbc:mysql://localhost:3306/test?autoReconnect=true
Nach dem Login kopieren

Diese Methode wird jedoch nicht empfohlen, da sie währenddessen zu unerwartetem Verhalten führen kann aktive Transaktionen.

2. Verbindungsvalidierung:

Ein effektiverer Ansatz besteht darin, die Verbindungsvalidierung während der gesamten Lebensdauer Ihrer Anwendung zu ermöglichen. Konfigurieren Sie die folgenden Eigenschaften:

  • Maximale aktive Verbindungen:

    spring.datasource.max-active=10
    Nach dem Login kopieren
  • Erste Verbindungen:

    spring.datasource.initial-size=5
    Nach dem Login kopieren
  • Leere Verbindung Grenzwerte:

    spring.datasource.max-idle=5
    spring.datasource.min-idle=1
    Nach dem Login kopieren
  • Validierungsabfrage und Timing:

    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
    Nach dem Login kopieren

Diese Konfiguration stellt sicher, dass inaktive Verbindungen regelmäßig validiert werden und unterbrochene Verbindungen werden aus dem Pool entfernt.

3. HikariCP-Verbindungspool:

Spring Boot 2.x verwendet standardmäßig HikariCP als Verbindungspool. HikariCP bietet eine automatische Verbindungsvalidierung, sodass die Eigenschaft validation-query weggelassen werden kann.

Hinweis: Obwohl von der Verwendung einer Validierungsabfrage abgeraten wird, verfügt HikariCP über eine eigene Methode zur Verbindungsvalidierung, die mehr ist effizient.

Das obige ist der detaillierte Inhalt vonWie behebe ich Verbindungsunterbrechungen bei Spring Boot JPA/Hibernate-Datenbanken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage