testWhileIdle
не е свойство на c3p0. Това не боли нищо, но може да ви обърка да мислите, че правите нещо, което не правите. Тествате неактивни връзки, вероятно твърде често, тъй като тествате и връзки при плащане.
Вашата конфигурация е разпръсната на две места. Не съм сигурен как ще взаимодействат конфигурациите за Spring и hibernate. c3p0 DataSources изхвърля конфигурацията в INFO на пула init. Може да искате да проверите дали имате конфигурацията, която очаквате.
Относно вашия проблем, звучи много сякаш имате изтичане на връзка. Трябва да се уверите, че всяка връзка, извлечена от DataSource, е надеждно затворена()в метод finally или чрез try-with-resources в Java 7+.
Използвайте c3p0 config params unreturnedConnectionTimeout
и debugUnreturnedConnectionStackTraces
за отстраняване на грешки при изтичане на връзка.
Вижте тук .
(Забележка:В hibernate.cfg те биха били hibernate.c3p0.unreturnedConnectionTimeout
и hibernate.c3p0.debugUnreturnedConnectionStackTraces
. Или можете да ги зададете по-директно във вашия Spring xml.)