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.