Spring Boot - Woher wissen Sie, welcher Verbindungspool verwendet wird?
In Spring Boot ist@Autowired
javax.sql.DataSource
, und Sie wissen, welcher Datenbankverbindungspool in der aktuell ausgeführten Anwendung verwendet wird.
1. Test Standard
Spring Boot-Beispiel zum Drucken vonjavax.sql.DataSource
Note
Lesen Sie dieses offizielle Spring Boot-Dokument -Connection
to a production database, um den Algorithmus für die Auswahl derDataSource
-Implementierungen zu verstehen - Tomcat-Pooling, HikariCP, Commons DBCP und 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); } }
Ausgabe: Spring Boot verwendet standardmäßig Tomcat-Pooling.
DATASOURCE = org.apache.tomcat.jdbc.pool.DataSource@7c541c15...
2. Testen Sie HikariCP
Um zu einem anderen Verbindungspool zu wechseln, z. B. HikariCP, schließen Sie einfach die Standardeinstellung aus und fügen Sie die HikariCP in den Klassenpfad ein.
pom.xml
org.springframework.boot spring-boot-starter-jdbc org.apache.tomcat tomcat-jdbc com.zaxxer HikariCP 2.6.0
Ausgabe
DATASOURCE = HikariDataSource (HikariPool-1)
Note
Lesen Sie dieses Beispiel -Spring Boot
JDBC + MySQL + HikariCP example