Korištenje c3p0 s hibernacijom

1. Pregled

Uspostavljanje veza s bazom podataka prilično je skupo. Udruživanje veza s bazom podataka dobro je uspostavljen način smanjenja ovih troškova.

U ovom uputstvu razgovarat ćemo o tome kako koristiti c3p0 s Hibernateom za spajanje veza.

2. Što je c3p0?

c3p0 jeJava knjižnica koja pruža prikladan način upravljanja vezama baze podataka.

Ukratko, to postiže stvaranjem bazena veza. Također učinkovito rješava čišćenje Izjavas i Postavi rezultats nakon upotrebe. Ovo čišćenje je neophodno kako bi se osiguralo da je korištenje resursa optimizirano i da se ne dogodi zastoj koji se može izbjeći.

Ova se knjižnica neprimjetno integrira s raznim tradicionalnim JDBC upravljačkim programima. Uz to, pruža sloj za prilagodbu JDBC upravljačkih programa temeljenih na DriverManageru novijim javax.sql.DataSource shema.

I, budući da Hibernate podržava povezivanje s bazama podataka putem JDBC-a, jednostavno je koristiti Hibernate i c3p0 zajedno.

3. Konfiguriranje c3p0 pomoću hibernacije

Pogledajmo sada kako konfigurirati postojeću Hibernate aplikaciju da koristi c3p0 kao upravitelja povezivanjem baze podataka.

3.1. Ovisnosti Mavena

Prvo, prvo ćemo morati dodati hibernirati-c3p0 ovisnost o mavenu:

 org.hibernate hibernate-c3p0 5.3.6.Finalni 

Uz Hibernate 5, samo dodavanje gornje ovisnosti dovoljno je da se omogući c3p0. To vrijedi sve dok nije naveden nijedan drugi upravitelj spremišta JDBC veza.

Stoga, nakon što dodamo ovisnost, možemo pokrenuti našu aplikaciju i provjeriti zapisnike:

Inicijalizacija c3p0-0.9.5.2 [izrađeno 08. prosinca 2015. 22:06:04 -0800; otklanjanje pogrešaka? pravi; trace: 10] Inicijalizacija spremišta c3p0 ... [zaštićena e-poštom] [... zadane postavke ...]

Ako se koristi drugi upravitelj spremišta JDBC veza, možemo prisiliti našu aplikaciju da koristi c3p0. Samo trebamo postaviti klasa_provajdera do C3P0ConnectionProvider u našoj datoteci svojstava:

hibernate.connection.provider_class = org.hibernate.connection.C3P0ConnectionProvider

3.2. Svojstva spremišta bazena

Na kraju ćemo morati nadjačati zadanu konfiguraciju. Možemo dodati prilagođena svojstva hibernate.cfg.xml datoteka:

5 20 5 1800

Isto tako, hibernirati.svojstva datoteka može sadržavati iste postavke:

hibernate.c3p0.min_size = 5 hibernate.c3p0.max_size = 20 hibernate.c3p0.acquire_increment = 5 hibernate.c3p0.timeout = 1800

The min_veličina svojstvo navodi minimalni broj veza koje bi trebao održavati u bilo kojem trenutku. Prema zadanim postavkama održavat će najmanje tri veze. Ova postavka također definira početnu veličinu bazena.

The max_size svojstvo određuje maksimalan broj veza koje može održavati u bilo kojem trenutku. Prema zadanim postavkama zadržat će najviše 15 veza.

The steći_prirast svojstvo specificira koliko veza treba pokušati steći ako spremište ostane bez dostupnih veza. Prema zadanim postavkama pokušat će dobiti tri nove veze.

The pauza svojstvo navodi broj sekundi u kojima će se nekorištena veza zadržati prije odbacivanja. Prema zadanim postavkama veze nikad neće isteći iz spremišta.

Nove postavke spremišta možemo provjeriti ponovnim provjerom dnevnika:

Inicijalizacija c3p0-0.9.5.2 [izrađeno 08. prosinca 2015. 22:06:04 -0800; otklanjanje pogrešaka? pravi; trace: 10] Inicijalizacija spremišta c3p0 ... [zaštićena e-poštom] [... nove postavke ...]

Ovo su osnovna svojstva spremišta veza. Osim toga, u službenom vodiču mogu se naći i druga svojstva konfiguracije.

5. Zaključak

U ovom smo članku razgovarali o tome kako koristiti c3p0 s hibernacijom. Pregledali smo neka uobičajena svojstva konfiguracije i dodali c3p0 u testnu aplikaciju.

U većini okruženja preporučujemo upotrebu upravitelja spremišta veza poput c3p0 ili HikariCP umjesto tradicionalnih JDBC upravljačkih programa.

Kao i obično, cjeloviti izvorni kod za ovu lekciju dostupan je na GitHubu.