Rumah >pangkalan data >tutorial mysql >Patutkah Saya Tutup Sambungan JDBC Terkumpul?
Menutup Sambungan JDBC dalam Kolam
Soalan: Patutkah sambungan JDBC ditutup apabila menggunakan kumpulan sambungan? Jika ya, bukankah ia mengalahkan tujuan pengumpulan?
Jawapan: Ya, sambungan terkumpul harus ditutup. Menutup sambungan terkumpul melepaskan sambungan asas kembali ke kolam.
Kolam sambungan menjejak sambungan mana yang sedang digunakan dan mana yang percuma. Apabila sambungan ditutup, kolam mengenalinya sebagai tersedia untuk digunakan semula.
Soalan: Adakah kaedah berikut sesuai untuk mendapatkan sambungan daripada kolam atau DriverManager?
public Connection getConnection(boolean pooledConnection) throws SQLException { if (pooledConnection) { if (ds == null) { try { ds = (DataSource) new InitialContext().lookup("java:comp/env/jdbc/NamedInTomcat"); return ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } } return (ds == null) ? getConnection(false) : ds.getConnection(); } return DriverManager.getConnection("jdbc:mysql://..." + dbName, uName, pWord); }
Jawapan: Kod tidak disyorkan. DataSource harus dimulakan sekali semasa aplikasi dimulakan dan bukannya dalam kaedah. Selain itu, penyegerakan dan semakan nol tidak diperlukan. Kaedah ini hanya perlu mencari DataSource sekali dan mengembalikan sambungan daripadanya secara konsisten.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Patutkah Saya Tutup Sambungan JDBC Terkumpul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!