Configuration de pools de connexions avec Spring Boot 2 : Druid et HikariCP

Intégration de Druid dans Spring Boot 2

Druid est un pool de connexions à base de données développé par Alibaba, offrant des capacités de surveillance intégrées. Voici comment l'intégrer dans une application Spring Boot 2.

Étape 1 : Ajout de la dépendance Maven

Incluez le starter Druid dans votre fichier pom.xml. Notez que certaines versions peuvent causer des problèmes d'accès à l'interface de monitoring (erreur 404 sur /druid).

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

Étape 2 : Configuration dans application.properties

Configurez les paramètres de base de données et le pool Druid. Les propriétés de surveillance web permettent d'accéder à une console d'administration.

spring.datasource.url=jdbc:oracle:thin:@//host:port/service
spring.datasource.username=votre_utilisateur
spring.datasource.password=votre_mot_de_passe
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

# Configuration du pool Druid
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.max-wait=60000
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.filters=stat,wall,slf4j

# Activation de la console de monitoring
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=secret

Utilisation de HikariCP dans Spring Boot 2

HikariCP est le pool de connexions par défaut dans Spring Boot 2. Aucune dépendance supplémentaire n'est requise si vous utilisez le starter parent (spring-boot-starter-parent). Il est reconnu pour ses hautes performances.

Configuration de HikariCP

Configurez directement les propriétés de Hikari. Le paramètre max-lifetime doit être inférieur au délai d'expiration de la base de données pour éviter des exceptions.

spring.datasource.url=jdbc:oracle:thin:@//host:port/service
spring.datasource.username=votre_utilisateur
spring.datasource.password=votre_mot_de_passe
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=20
spring.datasource.hikari.maximum-pool-size=600
spring.datasource.hikari.pool-name=MonPoolHikari
spring.datasource.hikari.max-lifetime=1200000
spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.connection-test-query=SELECT 1 FROM DUAL
spring.datasource.hikari.auto-commit=true

Comparaison et choix

Druid offre des fonctionnalités de monitoring avancées via son interface web. HikariCP, intégré par défaut dans Spring Boot 2, est optimisé pour la vitessse et la faible empreinte. Le choix dépend des besoins en observabilité et des contraintes de performance de l'application.

Étiquettes: spring-boot-2 druid HikariCP connection-pool database

Publié le 21 juin à 03h24