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.
Hatalı
Bölüm başlığı “Hatalı”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); }}Düzeltme
Bölüm başlığı “Düzeltme”Bağlantı, statement ve result set’i try-with-resources içinde açarak havuza iade edilmelerini sağlayın.