Konfigurere et Hikari Connection Pool med Spring Boot

1. Oversikt

Hikari er en JDBC Datakilde implementering som gir en sammenkoblingsmekanisme.

Sammenlignet med andre implementeringer, lover den å være lett og bedre. For en introduksjon til Hikari, se denne artikkelen.

Denne raske opplæringen viser hvordan vi kan konfigurere en Spring Boot 2 eller Spring Boot 1-applikasjon til å bruke Hikari Datakilde.

2. Konfigurere Hikari med Spring Boot 2.x

I Spring Boot 2 er Hikari standard implementering av DataSource.

Dette er det som er endret fra Spring Boot 1.x:

  • avhengigheten til Hikari er nå automatisk inkludert i spring-boot-starter-data-jpa og spring-boot-starter-jdbc
  • oppdagelsesalgoritmen som automatisk bestemmer en Datakilde implementering foretrekker nå Hikari fremfor TomcatJDBC (se referansehåndboken).

Dermed har vi ingenting å gjøre hvis vi vil bruke Hikari i en applikasjon basert på Spring Boot 2.x.

3. Innstilling av Hikari-konfigurasjonsparametere

En av Hikaris fordeler fremfor andre Datakilde implementeringer er det faktum at det tilbyr mange konfigurasjonsparametere.

Vi kan spesifisere verdiene for disse parametrene ved å bruke prefikset våren.datasource.hikari og legge til navnet på Hikari-parameteren:

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

En liste over alle Hikari-parametere med en god forklaring er tilgjengelig på Hikari Github-nettstedet, samt i vårdokumentene.

4. Konfigurere Hikari med Spring Boot 1.x

Spring Boot 1.x bruker Tomcat JDBC Connection Pool som standard.

Så snart vi inkluderer spring-boot-starter-data-jpa inn i vår pom.xml, vil vi midlertidig inkludere en avhengighet av Tomcat JDBC-implementeringen. I løpet av kjøretiden vil Spring Boot lage en Tomcat Datakilde for oss å bruke.

For å konfigurere Spring Boot til å bruke Hikari Connection Pool i stedet, har vi to alternativer.

4.1. Maven avhengighet

Først må vi inkludere avhengigheten av Hikari i vår pom.xml:

 com.zaxxer HikariCP 3.2.0 

Den nyeste versjonen finner du på Maven Central.

4.2. Eksplisitt konfigurasjon

Den sikreste måten å fortelle Spring Boot å bruke Hikari er å konfigurere DataSource-implementeringen eksplisitt.

For å gjøre dette, vi bare angi eiendommen spring.datasource.type til det fullt kvalifiserte navnet på Datakilde implementering vi ønsker å bruke:

@RunWith (SpringRunner.class) @SpringBootTest (egenskaper = "spring.datasource.type = com.zaxxer.hikari.HikariDataSource") offentlig klasse HikariIntegrationTest {@Autowired private DataSource dataSource; @Test offentlig ugyldig hikariConnectionPoolIsConfigured () {assertEquals ("com.zaxxer.hikari.HikariDataSource", dataSource.getClass (). GetName ()); }}

4.3. Fjerne Tomcat JDBC-avhengighet

Det andre alternativet er å la Spring Boot finne Hikari Datakilde selve implementeringen.

Hvis Spring Boot ikke finner Tomcat Datakilde i klassestien vil den automatisk se etter Hikari Datakilde neste. Funnalgoritmen er beskrevet i referansehåndboken.

For å fjerne Tomcat Connection Pool fra klassestien kan vi ekskludere den i vår pom.xml:

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

Nå vil testen fra forrige avsnitt også fungere uten å stille inn spring.datasource.type eiendom.

5. Konklusjon

I denne artikkelen har vi konfigurert Hikari Datakilde implementering i en Spring Boot 2.x-applikasjon og lærte å utnytte Spring Boots autokonfigurasjon. Vi har også sett på endringene som kreves for å konfigurere Hikari når du bruker Spring Boot 1.x.

Koden for Spring Boot 1.x-eksemplet er tilgjengelig her, og koden for Spring Boot 2.x-eksemplet er tilgjengelig her.


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