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

  • AmazonWireless

    AmazonWirele

    8 EYLÜL 2010
  • calicoJake

    calicoJake

    29 EKİM 2007
  • mist64

    mist64

    30 Mayıs 2006