Bruker c3p0 med dvalemodus

1. Oversikt

Det er ganske dyrt å opprette databaseforbindelser. Databasekobling er en veletablert måte å redusere disse utgiftene på.

I denne opplæringen vil vi diskutere hvordan du bruker c3p0 med dvalemodus for å samle forbindelser.

2. Hva er c3p0?

c3p0 eret Java-bibliotek som gir en praktisk måte å administrere databaseforbindelser på.

Kort sagt, det oppnår dette ved å opprette et basseng av forbindelser. Det håndterer også effektivt opprydding av Uttalelses og ResultatSetts etter bruk. Denne oppryddingen er nødvendig for å sikre at ressursbruken er optimalisert og at det ikke kan forekomme fastlåsning.

Dette biblioteket integreres sømløst med forskjellige tradisjonelle JDBC-drivere. I tillegg gir det et lag for å tilpasse DriverManager-baserte JDBC-drivere til den nyere javax.sql.DataSource ordningen.

Og fordi dvalemodus støtter tilkobling til databaser via JDBC, det er enkelt å bruke dvalemodus og c3p0 sammen.

3. Konfigurere c3p0 med dvalemodus

La oss nå se på hvordan du konfigurerer et eksisterende Hibernate-program til å bruke c3p0 som databaseforbindelsesbehandling.

3.1. Maven avhengigheter

For det første må vi først legge til dvale-c3p0 maven avhengighet:

 org.hibernate hibernate-c3p0 5.3.6.Final 

Med Hibernate 5 er det bare å legge til den ovennevnte avhengigheten nok til å aktivere c3p0. Dette gjelder så lenge ingen annen JDBC-tilkoblingsbassengbehandling er spesifisert.

Derfor, etter at vi har lagt til avhengigheten, kan vi kjøre applikasjonen vår og sjekke loggene:

Initialiserer c3p0-0.9.5.2 [bygget 8. desember 2015 22:06:04 -0800; feilsøke? ekte; trace: 10] Initialiserer c3p0-basseng ... [e-postbeskyttet] [... standardinnstillinger ...]

Hvis det brukes en annen JDBC-tilkoblingsbehandling, kan vi tvinge søknaden vår til å bruke c3p0. Vi trenger bare å stille inn leverandørklasse til C3P0ConnectionProvider i vår eiendomsfil:

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

3.2. Tilkoblingsbassengegenskaper

Til slutt må vi overstyre standardkonfigurasjonen. Vi kan legge til egendefinerte egenskaper i dvalemodus.cfg.xml fil:

5 20 5 1800

Likeledes, den dvalemodus. eiendommer filen kan inneholde de samme innstillingene:

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

De min_størrelse egenskap spesifiserer det minste antall tilkoblinger den skal opprettholde til enhver tid. Som standard vil den opprettholde minst tre tilkoblinger. Denne innstillingen definerer også den opprinnelige størrelsen på bassenget.

De maks. størrelse egenskap spesifiserer maksimalt antall tilkoblinger den kan opprettholde til enhver tid. Som standard beholder det maksimalt 15 tilkoblinger.

De tilveiebringe egenskap spesifiserer hvor mange tilkoblinger den skal prøve å anskaffe hvis bassenget går tom for tilgjengelige tilkoblinger. Som standard vil den prøve å skaffe seg tre nye forbindelser.

De pause egenskap spesifiserer antall sekunder en ubrukt tilkobling skal beholdes før den kastes. Som standard utløper forbindelser aldri fra bassenget.

Vi kan bekrefte de nye bassenginnstillingene ved å sjekke loggene igjen:

Initialiserer c3p0-0.9.5.2 [bygget 8. desember 2015 22:06:04 -0800; feilsøke? ekte; trace: 10] Initialiserer c3p0-basseng ... [e-postbeskyttet] [... nye innstillinger ...]

Dette er de grunnleggende tilkoblingsbassengegenskapene. I tillegg kan andre konfigurasjonsegenskaper finnes i den offisielle guiden.

5. Konklusjon

I denne artikkelen har vi diskutert hvordan du bruker c3p0 med dvalemodus. Vi har sett på noen vanlige konfigurasjonsegenskaper og lagt til c3p0 i et testprogram.

For de fleste miljøer anbefaler vi å bruke en tilkoblingsbassengbehandling som c3p0 eller HikariCP i stedet for tradisjonelle JDBC-drivere.

Som vanlig er den komplette kildekoden for denne opplæringen tilgjengelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found