testWhileIdle
bukan properti c3p0. Itu tidak menyakiti apa pun, tetapi mungkin membingungkan Anda untuk berpikir bahwa Anda melakukan sesuatu yang sebenarnya tidak Anda lakukan. Anda menguji koneksi yang tidak aktif, mungkin terlalu sering, karena Anda juga menguji Koneksi saat checkout.
Konfigurasi Anda tersebar di dua tempat. Saya tidak yakin bagaimana konfigurasi Spring dan hibernate akan berinteraksi. c3p0 DataSources dump config di INFO pada pool init. Anda mungkin ingin memverifikasi bahwa Anda memiliki konfigurasi yang Anda harapkan.
Kembali ke masalah Anda, sepertinya Anda mengalami kebocoran Sambungan. Anda harus memastikan bahwa setiap Koneksi yang diperiksa dari DataSource secara andal ditutup() dalam metode last, atau melalui try-with-resources di Java 7+.
Gunakan parameter konfigurasi c3p0 unreturnedConnectionTimeout
dan debugUnreturnedConnectionStackTraces
untuk men-debug kebocoran Koneksi.
Lihat di sini .
(Catatan:Di hibernate.cfg mereka akan menjadi hibernate.c3p0.unreturnedConnectionTimeout
dan hibernate.c3p0.debugUnreturnedConnectionStackTraces
. Atau Anda dapat mengaturnya lebih langsung di Spring xml Anda.)