Herkese selam, bunun eski bir soru olduğunu biliyordum ama bugün merak ediyorum. Connection.close'u da bildiğimiz gibi readyStatement'i de kapatmış olacağım (eğer yanılıyorsam düzeltin). ancak bağlantıyı kapatırsam daha sonra hazırlamamayansamamaya hazırlanırm?Jdbc bağlantısı kapat ve hazırla kapat kapat
Birisi, jvm speed.sometimes ps.close() öğesine bağlı olduğunu söylüyordu ve conn.close işini bitirmeden önce önce kapanacak ve böylece nullpointer almayacaksınız. Bu test etmek için
, kodu
conn.close();
Thread.sleep(5000);//I give 5s to conn.close to finish his work. should be enough
ps.close();
değiştirdiniz Ama nullpointer alamadım.
Bu yüzden sorum ilk önce ve sonra ps'yi kapatırsam ne oldu?
Herkese teşekkürler.
JDBC belirtimi bu konuda oldukça nettir: bir bağlantıyı kapatmak tüm bağımlı nesneleri kapatır (en azından kullanıcı perspektifinden; havuzun kullanılması durumunda ifadesi havuzun içinde açık kalabilir, ancak bu ifadenin kullanıcı tanıtıcısı kapalıymış gibi davranın). Zaten kapalı bir JDBC kaynağının kapatılması (bağlantı, ifade, sonuç kümesi vb.) Hiçbir etkisi olmamalıdır (hata, vb.). –
Bahçıvanlar tarafından geri getirilen dekore edilmiş bağlantıdan bahsediyordum ve bu şekilde dekore edilmiş bir bağlantıdaki yakın bir çağrı temeldeki fiziksel bağlantıyı kapatmıyor. Buna katılıyor muyuz? Şimdi, havuzcular bu bağlantıya karşılık gelen ifadeleri/sonuç kümelerini kontrol edebilir ve bağlantıdaki yakın çağrıda kapatabilirler, değil mi? Umarım seni hak ettim. – Vikdor