Konfiguration af en Hikari Connection Pool med Spring Boot

1. Oversigt

Hikari er en JDBC Datakilde implementering, der giver en sammenkoblingsmekanisme.

Sammenlignet med andre implementeringer lover den at være let og bedre. For en introduktion til Hikari, se denne artikel.

Denne hurtige vejledning viser, hvordan vi kan konfigurere en Spring Boot 2 eller Spring Boot 1-applikation til at bruge Hikari Datakilde.

2. Konfiguration af Hikari med Spring Boot 2.x

I Spring Boot 2 er Hikari standardimporten til DataSource.

Dette er hvad der er ændret fra Spring Boot 1.x:

  • afhængigheden af ​​Hikari er nu automatisk inkluderet i spring-boot-starter-data-jpa og spring-boot-starter-jdbc
  • opdagelsesalgoritmen, der automatisk bestemmer en Datakilde implementering foretrækker nu Hikari frem for TomcatJDBC (se referencehåndbogen).

Således har vi intet at gøre, hvis vi vil bruge Hikari i en applikation baseret på Spring Boot 2.x.

3. Indstilling af Hikari-konfigurationsparametre

En af Hikaris fordele i forhold til andre Datakilde implementeringer er det faktum, at det tilbyder mange konfigurationsparametre.

Vi kan specificere værdierne for disse parametre ved hjælp af præfikset spring.datasource.hikari og tilføje navnet på Hikari-parameteren:

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

En liste over alle Hikari-parametre med en god forklaring er tilgængelig på Hikari Github-webstedet såvel som i forårsdokumenterne.

4. Konfiguration af Hikari med Spring Boot 1.x

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

Så snart vi inkluderer spring-boot-starter-data-jpa ind i vores pom.xml, inkluderer vi transitivt en afhængighed af Tomcat JDBC-implementeringen. Under runtime opretter Spring Boot derefter en Tomcat Datakilde for os at bruge.

For at konfigurere Spring Boot til at bruge Hikari Connection Pool i stedet har vi to muligheder.

4.1. Maven afhængighed

Først skal vi medtage afhængigheden af ​​Hikari i vores pom.xml:

 com.zaxxer HikariCP 3.2.0 

Den nyeste version kan findes på Maven Central.

4.2. Eksplicit konfiguration

Den sikreste måde at fortælle Spring Boot om at bruge Hikari er at konfigurere DataSource-implementeringen eksplicit.

For at gøre dette, vi simpelthen indstil ejendommen spring.datasource.type til det fuldt kvalificerede navn på Datakilde implementering, vi ønsker at bruge:

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

4.3. Fjernelse af Tomcat JDBC-afhængighed

Den anden mulighed er at lade Spring Boot finde Hikari Datakilde selve implementeringen.

Hvis Spring Boot ikke kan finde Tomcat Datakilde i klassestien vil den automatisk kigge efter Hikari Datakilde Næste. Opdagelsesalgoritmen er beskrevet i referencehåndbogen.

For at fjerne Tomcat Connection Pool fra klassestien kan vi udelukke den i vores pom.xml:

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

Nu fungerer testen fra det foregående afsnit også uden at indstille spring.datasource.type ejendom.

5. Konklusion

I denne artikel har vi konfigureret Hikari Datakilde implementering i en Spring Boot 2.x-applikation og lærte at udnytte Spring Boots autokonfiguration. Vi har også kigget på de ændringer, der kræves for at konfigurere Hikari, når du bruger Spring Boot 1.x.

Koden til Spring Boot 1.x-eksemplet er tilgængelig her, og koden til Spring Boot 2.x-eksemplet er tilgængelig her.


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