İçeriğe geç

Kapatılmayan DB bağlantısı (ARCH4084)

Anahtar java.performance.db-connection-not-closed · Önem error · Kategori performance

Bir Connection açılıp kapatılmazsa havuza geri dönmez. Sızan bağlantılar havuzu kısa sürede tüketir ve sonraki istekler bağlantı bekleyerek zaman aşımına uğrar.

public int count() throws SQLException {
Connection conn = dataSource.getConnection();
ResultSet rs = conn.createStatement().executeQuery("SELECT count(*) FROM t");
rs.next();
return rs.getInt(1);
}
public int count() throws SQLException {
try (Connection conn = dataSource.getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT count(*) FROM t")) {
rs.next();
return rs.getInt(1);
}
}

Bağlantı, statement ve result set’i try-with-resources içinde açarak havuza iade edilmelerini sağlayın.