Kapcsolatmegőrzés poolconnection
Általában tárgy összevonása - a tartály tárgyak, ahonnan kap egy ilyen egy időben. A használata a medence létesítmények van egy sablon módon megoldani a problémát, -tároló és -elosztó létesítmények ideiglenes használatra.
Alkalmazás fejlesztő, akkor használja a medencék különböző típusú objektumok, mint például medence szál medence szálak. Ez a cikk ismerteti csak a kapcsolat medence Connection Pool DB.
Kapcsolattárolás szükséges WEB alkalmazás, amikor az összes adatbázis-lekérdezések egy helyen pelyhesítő a szerver és hozzon létre egy új kapcsolatot az adatbázis igényel jelentős resursoov. Egy kapcsolat medence indokolja gazdaságosabb stratégia - és ezáltal több kapcsolatot és nyomon követése az állapotuk; azáltal, hogy új, ha szükséges.
Számos megvalósításai medencék kapcsolatot az adatbázissal. Akkor biztosan nem, és azok végrehajtását. Ennek veszélye vállalkozás az, hogy ha csinál nem nagyon pontos, a medence is „szivárgás” vagy tárgyak „menni”. Szerver oldali alkalmazás egy különösen kellemetlen - szükséges mennyiség szabályozására és állapotát a medence található.
Ma már kész megoldást. A legfontosabb dolog az, hogy megtanulják, hogyan kell beállítani őket megfelelően.
Kapcsolatkészletezés - apache commons DBCP, adatforrás
A népszerű Apache Tomcat servlet konténer rendelkezik saját megoldás létrehozása DBCP. Könyvtár alapján apache-commons-DBCP.
apache DBCP azt sugallja, hogy van egy sor ( „pool”) kapcsolatot az adatbázissal. Ha új felhasználó hozzáférést kér az adatbázis, az általa kiadott nyílt kapcsolatot a medencébe. Ha az összes nyitott kapcsolat már foglalt, akkor jön létre az új. Amint a felhasználó elengedi az egyik meglévő kapcsolatokat, elérhetővé válik a többi felhasználó számára. Ha a kapcsolat nem használható hosszú ideig, hogy zárva van.
Megvalósítása támogatása kapcsolatkészletezés kell menni több szakaszban zajlik.
Az első lépés az, hogy állapítsa meg a forrás (adatbázis) a kérelem keretében. A forráskód a következőképpen jellemezhető (pl MySQL):
kérelem keretében egy XML fájl. Célszerű tárolja .ocument_root% / META-INF / context.xml, de nem ez az egyetlen lehetőség. Mintegy összefüggésben pedig a hivatalos honlapon Tomcat'a: A Context Container.
Ezután adjon hozzá egy linket erre az erőforrás leíró web.xml alkalmazás:
Akkor majd a kapcsolat medence (kapcsolat medence java) a kérelmet. Ehhez kapsz egy kapcsolat objektumot az alábbi kódot:
Egy adatforrás (adatforrás) használ JNDI mechanizmus (erről többet itt található)
Leírása a kapcsolatkészletezés befejeződött, a kapcsolat, hogy az alkalmazást, és akkor most folytathatja a végrehajtását a munka az adatbázis logikai - connection.createStatement (). Miután a lekérdezést kell zárni a kapcsolatot (connection.close ()). Azonban, ellentétben a hagyományos kapcsolat révén a JDBC illesztőprogram, ez a kapcsolat nem igazán zárt, akkor meg kell jelölni a medencébe, szabad, és akkor lehet, hogy újra használni később.
Mielőtt visszatérne a kapcsolat medence valamennyi nyilatkozat és ResultSet. alkalmazásával kapott ez a vegyület automatikusan lezárva összhangban az API.
Connection Pool C3P0
C3P0 kapcsolat medence képviseli a fájl c3p0-0.9.1.2.jar (változat eltérő lehet). Rövidítése következik. Connection Pool 3,0 => SP30 => C3P0.
JNDI erőforrás-konfiguráció elv már fentebb bemutattuk. Meg kell határozni, hogy a globális erőforrásokat, és a WEB alkalmazás egy linket, vagy megadható context.xml. Minden attól függ, ahol a könyvtárak és a mi szerver konfigurációját.
C3P0 konfiguráció példája egy MySQL adatbázis:
Most meg a kapcsolat medence teljesen őrült. A fő cél az, hogy hozzanak létre a munkáját úgy, hogy stabil és működtetni, hogy ellenálljon terhelést. További információ a jelentését minden paraméter megtalálható a dokumentációban:
- maxPoolSize és minPoolSize - a lehetséges maximális és minimális kapcsolatok száma a medencében
- preferredTestQuery - kérelmet, amely ellenőrzi a kapcsolatot az adatbázissal. Attól függ, hogy az adott RDBMS.
- acquireRetryAttempts - a próbálkozások száma kapcsolódni az adatbázishoz, ha ez nem áll rendelkezésre. Tedd 0, ha azt akarjuk, hogy megpróbálja még nem ért véget.
- testConnectionOnCheckout - „kapzsi”, ha ez lehetséges, akkor a legjobb, hogy nem használja
Lehet, hogy a JDBC URL tartalmaz-jel „”. Ha a beállítás keresztül végezzük XML-fájlt, akkor ehelyett param1 = value1param2 = value2 használni param1 = value1param2 = value2.
A feladat létrehozásának a medence kapcsolatot az Oracle nem triviális. A benyújtott dokumentáció itt
Kapcsolatkészletezés szinten java alkalmazások, ComboPooledDataSource
C3P0 kapcsolat medence is, mely nem csupán a Tomcat alkalmazás konténer szinten, hanem szinten a kérelmet. Nem kell, hogy bármilyen további külső XML-fájlok, amelyeket a fent említett.
A következő kód azt mutatja, hogyan kell létrehozni és inicializálni a kapcsolatot medence:
A következő kód azt mutatja, hogyan lehet a kapcsolat a medence és milyen közel van (hogy visszatérjen a medence)