Konfiguriranje Hikari Connection Pool-a s Spring Boot-om

1. Pregled

Hikari je JDBC Izvor podataka implementacija koja osigurava mehanizam udruživanja veza.

U usporedbi s drugim implementacijama, obećava da će biti lagan i bolje izvedbe. Za uvod u Hikari pogledajte ovaj članak.

Ovaj kratki vodič pokazuje kako možemo konfigurirati Spring Boot 2 ili Spring Boot 1 aplikaciju da koristi Hikari Izvor podataka.

2. Konfiguriranje Hikarija s Spring Boot 2.x

U Spring Boot 2, Hikari je zadana implementacija DataSourcea.

Evo što je promijenjeno u odnosu na Spring Boot 1.x:

  • ovisnost o Hikari sada je automatski uključena u spring-boot-starter-data-jpa i opruga-čizma-starter-jdbc
  • algoritam otkrivanja koji automatski određuje a Izvor podataka implementacija sada više voli Hikari nego TomcatJDBC (vidi referentni priručnik).

Dakle, nemamo što učiniti ako želimo koristiti Hikari u aplikaciji koja se temelji na Spring Boot 2.x.

3. Podešavanje Hikari konfiguracijskih parametara

Jedna od Hikarijevih prednosti nad drugima Izvor podataka implementacija je činjenica da nudi puno konfiguracijskih parametara.

Vrijednosti za ove parametre možemo odrediti pomoću prefiksa proljeće.dataizvor.hikari i dodavanje imena parametra Hikari:

spring.datasource.hikari.connectionTimeout = 30000 spring.datasource.hikari.idleTimeout = 600000 spring.datasource.hikari.maxLifetime = 1800000 ...

Popis svih Hikari parametara s dobrim objašnjenjem dostupan je na web mjestu Hikari Github, kao i u proljetnim dokumentima.

4. Konfiguriranje Hikarija s Spring Boot 1.x

Spring Boot 1.x prema zadanim postavkama koristi Tomcat JDBC Connection Pool.

Čim uvrstimo spring-boot-starter-data-jpa u naš pom.xml, mi ćemo tranzitivno uključiti ovisnost o implementaciji Tomcat JDBC. Tijekom izvođenja, Spring Boot će tada stvoriti Tomcat Izvor podataka za nas da se koristimo.

Da bismo konfigurirali Spring Boot da umjesto toga koristi Hikari Connection Pool, imamo dvije mogućnosti.

4.1. Ovisnost Mavena

Prvo, moramo uključiti ovisnost o Hikariju u naš pom.xml:

 com.zaxxer HikariCP 3.2.0 

Najažurniju verziju možete pronaći na Maven Central.

4.2. Eksplicitna konfiguracija

Najsigurniji način da Spring Bootu kaže da koristi Hikari je eksplicitno konfiguriranje implementacije DataSourcea.

Da bismo to učinili, mi jednostavno postaviti svojstvo proljeće.dataizvor.tip u potpuno kvalificirano ime Izvor podataka implementacija koju želimo koristiti:

@RunWith (SpringRunner.class) @SpringBootTest (svojstva = "spring.datasource.type = com.zaxxer.hikari.HikariDataSource") javna klasa HikariIntegrationTest {@Autowired private DataSource dataSource; @Test public void hikariConnectionPoolIsConfigured () {assertEquals ("com.zaxxer.hikari.HikariDataSource", dataSource.getClass (). GetName ()); }}

4.3. Uklanjanje ovisnosti Tomcat JDBC

Druga opcija je dopustiti da Spring Boot pronađe Hikari Izvor podataka sama provedba.

Ako Spring Boot ne može pronaći Tomcat Izvor podataka na stazi, automatski će tražiti Hikari Izvor podataka Sljedeći. Algoritam otkrivanja opisan je u referentnom priručniku.

Da bismo uklonili Tomcat Connection Pool s puta predavanja, možemo ga izuzeti u našem pom.xml:

 org.springframework.boot spring-boot-starter-data-jpa org.apache.tomcat tomcat-jdbc 

Sada će test iz prethodnog odjeljka također raditi bez postavljanja proljeće.dataizvor.tip imovine.

5. Zaključak

U ovom smo članku konfigurirali Hikari Izvor podataka implementaciju u Spring Boot 2.x aplikaciji i naučio kako iskoristiti autokonfiguraciju Spring Boota. Također smo pogledali promjene potrebne za konfiguriranje Hikarija prilikom korištenja Spring Boot 1.x.

Kod za primjer Spring Boot 1.x dostupan je ovdje, a kod za primjer Spring Boot 2.x dostupan je ovdje.