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
Patricia ArquetteOriginal
2024-12-09 18:33:15696Durchsuche

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

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
  • Erste Verbindungen:

    spring.datasource.initial-size=5
  • Leere Verbindung Grenzwerte:

    spring.datasource.max-idle=5
    spring.datasource.min-idle=1
  • 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

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!

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