SORU
22 Aralık 2010, ÇARŞAMBA


Yerli mal Resultsets ve Deyimleri Bağlantı daha sonra kapalı olmasına rağmen kapalı ayrı ayrı olmalıdır?

Kullanımdan sonra tüm OLANLARI kaynakları kapatmak için iyi bir alışkanlık olduğu söyleniyor. Ama eğer aşağıdaki kodu ben dahi seviyesinde bağımsız ve Deyim kapatmak için gerekli mi?

Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
    conn = // Retrieve connection
    stmt = conn.prepareStatement(// Some SQL);
    rs = stmt.executeQuery();
} catch(Exception e) {
    // Error Handling
} finally {
    try { if (rs != null) rs.close(); } catch (Exception e) {};
    try { if (stmt != null) stmt.close(); } catch (Exception e) {};
    try { if (conn != null) conn.close(); } catch (Exception e) {};
}

Soru Eğer bağlantı kapatma işini yapar veya bazı kaynakları bırakır.

CEVAP
22 Aralık 2010, ÇARŞAMBA


Yaptıklarınız mükemmel ve çok iyi bir uygulamadır.

Bunu söylemek nedeni onun iyi bir uygulama... örneğin, eğer bir sebepten dolayı kullandığınız bir "ilkel" bir tür veritabanı havuzu ve Ara connection.close() bağlantı döndürülür havuzu ve ResultSet/Statement asla kapalı ve o zaman sen-ecek koşmak çok farklı yeni sorunlar!

Her zaman connection.close() temizlik sayılmaz.

Umarım bu yardımcı olur :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • tinycammonitor

    tinycammonit

    14 Aralık 2010