Ich hatte ähnliche Probleme mit MySQL und einem Verbindungspool. Das Problem besteht darin, dass Sie dem Verbindungspool mitteilen, dass ein Leerlaufzeitlimit 30 Minuten beträgt, die Datenbank die Verbindung jedoch nach 10 Sekunden trennt. Da Ihr Leerlauf-Verbindungsprüfzeitraum 120 Sekunden beträgt, bleiben dem Pool etwas weniger als 110 Sekunden, um eine unterbrochene Verbindung zu verwenden!
Ich würde die folgenden Einstellungen für die Produktion verwenden:
MySQL:
wait_timeout=75
C3P0:
maxIdleTime=60
idleConnectionTestPeriod=55