Anda kemungkinan besar mengalami kebocoran Sambungan. Ukuran kolam raksasa tidak akan membantu dengan itu. Silakan lihat di sini .
Lampiran:idiom Pembersihan Sumber Daya yang Kuat
Sebaiknya gunakan coba dengan sumber daya
. Tetapi jika Anda bekerja dengan versi Java yang lebih lama (sebelum Java 7), atau dengan sumber daya yang tidak mengimplementasikan AutoCloseable
Anda mungkin masih harus kembali ke hal semacam ini.
Connection c = null;
OtherResource or = null;
try
{
c = cpds.getConnection();
or = getOtherResource()
// do stuff
// ...
}
finally
{
try { if (or != null) or.close(); }
catch (Exception e) { e.printStackTrace(); }
try { if (c != null) c.close(); }
catch (Exception e) { e.printStackTrace(); }
}
Perhatikan bahwa klausa akhirnya pasti akan dieksekusi jika Koneksi diperoleh, dan ada upaya terbaik close() dari setiap sumber daya:If or
gagal menutup(), Pengecualian itu tidak akan mencegah upaya menutup() theConnection.
Anda harus sangat berhati-hati. Seperti yang dikatakan Keynes dengan terkenal, ada banyak kesalahan di antara cangkir dan bibir.