Wie Sie vorschlagen, liegt dies daran, dass mysql inaktive Verbindungen nach jedem wait_timeout
schließt geht vorbei; Sie haben einige Möglichkeiten, Ihr Problem zu umgehen:
- Verwenden Sie einen Verbindungspool-Manager wie c3p0 oder Apache DBCP . Dies kümmert sich um die erneute Validierung von Verbindungen auf Anfrage, schließlich können Sie angeben, welche Abfrage ausgeführt werden soll, um zu testen, ob die Verbindung aktiv ist.
- set
wait_timeout
in mysql groß genug für Ihren Anwendungsfall (Standard ist 8 Stunden). - eine geplante Aufgabe einrichten (zum Beispiel mit quartz ). ), das Verbindungen aktualisiert und den MySQL-Server "pingt".