Verbindung zur Datenbank verschwindet nach einem bestimmten Zeitintervall: Spring Boot, JPA, Hibernate
In Spring Boot-Anwendungen, die JPA und Hibernate mit MySQL verwenden, Benutzern wird möglicherweise ein Fehler angezeigt, der darauf hinweist, dass die Verbindung zur Datenbank abgelaufen ist. Um dieses Problem zu lösen, sehen wir uns die empfohlenen und nicht empfohlenen Ansätze an:
Abgeratener Ansatz: Aktivieren der automatischen erneuten Verbindung
Während schnell und einfach, aktivieren Sie die automatische erneute Verbindung im JDBC URL wird nicht empfohlen. Dies kann bei aktiven Verbindungen zu Problemen führen, insbesondere wenn Transaktionen unterbrochen werden.
Empfohlener Ansatz: Verbindungsvalidierung
Um dieses Problem effektiv zu beheben, ist es wichtig, die Verbindungsvalidierung durchgehend zu aktivieren die Lebensdauer der Anwendung. Dies beinhaltet die Konfiguration mehrerer Eigenschaften:
Diese Konfigurationen stellen sicher, dass Verbindungen regelmäßig auf Gültigkeit getestet werden und inaktive Verbindungen aus dem Pool entfernt werden, wenn sie für einen bestimmten Zeitraum ungenutzt bleiben.
Spring Boot 2.x-Update:
Beachten Sie, dass Spring Boot 2.x auf HikariCP als Standardverbindungspool anstelle von Tomcat JDBC umgestellt hat. Daher können die Konfigurationseigenschaften für die Verbindungsvalidierung geringfügig variieren.
Das obige ist der detaillierte Inhalt vonWie verhindert man Zeitüberschreitungen bei Datenbankverbindungen in Spring Boot-Anwendungen mithilfe von JPA und Hibernate?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!