Mysql
 sql >> Datenbank >  >> RDS >> Mysql

c3p0 hängt in awaitVerfügbar mit Ruhezustand

passiert das sofort oder nach einiger zeit? Das heißt, sind Checkouts zunächst erfolgreich, hängen dann aber so? Wenn ja, sieht es nach einem Verbindungsleck aus. versuchen Sie bitte, c3p0-Parameter unreturnedConnectionTimeout und debugUnreturnedConnectionStackTraces zu setzen, um zu sehen, ob es ein Leck gibt. Siehe http://www.mchange.com/projects/c3p0/#configuring_to_debug_and_workaround_broken_clients , http://www.mchange.com/projects/c3p0/#unreturnedConnectionTimeout , http://www.mchange.com/projects/c3p0/#debugUnreturnedConnectionStackTraces .

Wenn dies sofort geschieht, wenn keine Verbindungen erfolgreich ausgecheckt werden, stellt sich die Frage, ob es dem Pool jemals gelingt, Verbindungen zu erwerben. Wenn dies nie gelingt, sollte Ihr Thread standardmäßig nach etwa 30 Sekunden mit einem Fehler abbrechen. (Es sieht nicht so aus, als hätten Sie dies getan, aber wenn Sie zum Beispiel "acquireRetryAttempts" auf null setzen würden, könnte c3p0 auf unbestimmte Zeit hängen bleiben und auf Connections warten.)

Um c3p0-Probleme zu debuggen, ist es hilfreich, die Versions- und Konfigurationsinformationen zu erfassen, die c3p0 bei der Pool-Initialisierung in Protokolle auf INFO-Ebene ausgibt.

Viel Glück!