Spring Boot - Comment savoir quel pool de connexion est utilisé?
Dans Spring Boot,@Autowired
est unjavax.sql.DataSource
, et vous saurez quel pool de connexion de base de données utilise dans l'application en cours d'exécution.
1. Test par défaut
Exemple de Spring Boot pour imprimer unjavax.sql.DataSource
Note
Lisez ce document officiel Spring Boot -Connection
to a production database, pour comprendre l'algorithme permettant de choisir les implémentations deDataSource
- Tomcat pooling, HikariCP, Commons DBCP et Commons DBCP2.
package com.example; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import javax.sql.DataSource; @SpringBootApplication public class SpringBootConsoleApplication implements CommandLineRunner { @Autowired DataSource dataSource; public static void main(String[] args) throws Exception { SpringApplication.run(SpringBootConsoleApplication.class, args); } @Override public void run(String... args) throws Exception { System.out.println("DATASOURCE = " + dataSource); } }
Sortie, Spring Boot utilise le pool Tomcat par défaut.
DATASOURCE = org.apache.tomcat.jdbc.pool.DataSource@7c541c15...
2. Tester HikariCP
Pour basculer vers un autre pool de connexions, par exemple HikariCP, excluez simplement la valeur par défaut et incluez HikariCP dans le chemin de classe.
pom.xml
org.springframework.boot spring-boot-starter-jdbc org.apache.tomcat tomcat-jdbc com.zaxxer HikariCP 2.6.0
Sortie
DATASOURCE = HikariDataSource (HikariPool-1)
Note
Lire cet exemple -Spring Boot
JDBC + MySQL + HikariCP example