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

  • Marques Brownlee

    Marques Brow

    21 Mart 2008
  • Mindy

    Mindy

    20 NİSAN 2006
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009