Brug af c3p0 med dvale

1. Oversigt

Det er ret dyrt at etablere databaseforbindelser. Samling af databaseforbindelser er en veletableret måde at sænke disse udgifter på.

I denne vejledning diskuterer vi, hvordan du bruger c3p0 med dvale til poolforbindelser.

2. Hvad er c3p0?

c3p0 eret Java-bibliotek, der giver en bekvem måde at administrere databaseforbindelser på.

Kort sagt opnår det dette ved at oprette en pool af forbindelser. Det håndterer også effektivt oprydning af Udmeldings og ResultSets efter brug. Denne oprydning er nødvendig for at sikre, at ressourceforbruget optimeres, og at der ikke kan opstå deadlocks.

Dette bibliotek integreres problemfrit med forskellige traditionelle JDBC-drivere. Derudover giver det et lag til tilpasning af DriverManager-baserede JDBC-drivere til den nyere javax.sql.DataSource ordning.

Og fordi Hibernate understøtter forbindelse til databaser via JDBC, det er nemt at bruge dvale og c3p0 sammen.

3. Konfiguration af c3p0 med dvale

Lad os nu se på, hvordan du konfigurerer et eksisterende dvale-program til at bruge c3p0 som dets databaseforbindelsesadministrator.

3.1. Maven afhængigheder

For det første skal vi først tilføje dvale-c3p0 maven afhængighed:

 org. dvale dvale-c3p0 5.3.6.Final 

Med dvale 5 er det bare nok at tilføje ovenstående afhængighed til at aktivere c3p0. Dette gælder, så længe der ikke er angivet nogen anden JDBC-forbindelsespoolmanager.

Derfor, efter at vi har tilføjet afhængigheden, kan vi køre vores applikation og kontrollere logfilerne:

Initialisering af c3p0-0.9.5.2 [bygget 8. december 2015 22:06:04 -0800; fejlfinde? rigtigt; trace: 10] Initialisering af c3p0-pool ... [e-mail-beskyttet] [... standardindstillinger ...]

Hvis der bruges en anden JDBC-forbindelsespoolmanager, kan vi tvinge vores ansøgning til at bruge c3p0. Vi skal bare indstille udbyderklasse til C3P0ConnectionProvider i vores egenskabsfil:

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

3.2. Forbindelsespoolegenskaber

Til sidst bliver vi nødt til at tilsidesætte standardkonfigurationen. Vi kan tilføje brugerdefinerede egenskaber til hibernate.cfg.xml fil:

5 20 5 1800

Ligeledes dvale.egenskaber filen kan indeholde de samme indstillinger:

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

Det min_størrelse egenskab specificerer det mindste antal forbindelser, den skal opretholde på et givet tidspunkt. Som standard opretholder den mindst tre forbindelser. Denne indstilling definerer også poolens indledende størrelse.

Det max_størrelse egenskab angiver det maksimale antal forbindelser, den kan opretholde på et givet tidspunkt. Som standard beholder det maksimalt 15 forbindelser.

Det erhverve_forøgelse egenskab angiver, hvor mange forbindelser den skal forsøge at erhverve, hvis poolen løber tør for tilgængelige forbindelser. Som standard forsøger den at erhverve tre nye forbindelser.

Det tiden er gået egenskab angiver antallet af sekunder, som en ubrugt forbindelse bevares, før den kasseres. Forbindelser udløber som standard aldrig fra puljen.

Vi kan verificere de nye poolindstillinger ved at kontrollere logfilerne igen:

Initialisering af c3p0-0.9.5.2 [bygget 8. december 2015 22:06:04 -0800; fejlfinde? rigtigt; trace: 10] Initialisering af c3p0-pool ... [e-mail-beskyttet] [... nye indstillinger ...]

Dette er de grundlæggende egenskaber for forbindelsespulje. Derudover kan andre konfigurationsegenskaber findes i den officielle guide.

5. Konklusion

I denne artikel har vi diskuteret, hvordan man bruger c3p0 med dvale. Vi har set på nogle almindelige konfigurationsegenskaber og føjet c3p0 til en testapplikation.

I de fleste miljøer anbefaler vi at bruge en forbindelsespoolhåndtering som f.eks. C3p0 eller HikariCP i stedet for traditionelle JDBC-drivere.

Som sædvanlig er den komplette kildekode til denne vejledning tilgængelig på GitHub.


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