Projelerin DB ye bağlanma sırasında bağlanma yöntemi olarak fiziksel ve logical connection arasında ne fark vardır?
comments
1 references
// Comments are closed.
Projelerin DB ye bağlanma sırasında bağlanma yöntemi olarak fiziksel ve logical connection arasında ne fark vardır?
// Comments are closed.
Temel connection özellikleri açısından bakarsan hiçbir farkı yoktur.
Bu yapı pool kullanan tasarımlarda kullanılır. Örneğin 10 tane fiziksel db bağlantısı oluşturup bir arraylist içine attık ve oradan alıp kullanıyoruz. Kullandık işimiz bitti ve close metodunu çağırdık. Bu durumda ne olacak? Eğer fiziksel bağlantı kapatılırsa pool’a geri bıraktığımız bağlantı kapalı bir bağlantı olacak ki bir sonraki kullanımda direk olarak closedConnection hatası demek. Açıkçası poll kullanmanın hiçbir esprisi kalmayacak.
Bu durumlarda pool yazan kişiler veya firmalar, programlama dilinin verdiğin Connection nesnesini ezerler. Yani kendi nesnelerini yazarlar. Bu nesnenin içinde de genellikle close komutu işlevini değiştirir. Yani sen close metodunu çağırdığın zaman aslında fiziksel olarak kapanmaz. Sadece kapatıldığı düşünülür ve bekleyen bağlantılar kısmına tekrar alınır.
Sorunun cevabı ise direk açtığın programlama dilinin verdiği Connection nesnesi ile çalışırsan ve close dediğin zaman bağlantı kapanıyorsa, bu fiziksel bağlantı olur. Eğer bir kütüphane üzerinden veya kendi yazdığın bir kütüphane ile close metodunu veya diğer metodları ezdiysen ve isminin andırdığından başka bir işlem yapmak için kullanıyorsan buna da mantıksal (logical) connection denir.
İyi çalışmalar.