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

  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010