Spring Boot –使用されている接続プールを知る方法
Spring Bootでは、@Autowiredはjavax.sql.DataSourceであり、現在実行中のアプリケーションで使用されているデータベース接続プールがわかります。
1. テストデフォルト
javax.sql.DataSourceを出力するSpringBootの例
Note
この公式のSpring Bootドキュメント–Connection
to a production databaseを読んで、DataSource実装を選択するためのアルゴリズム– Tomcatプーリング、HikariCP、Commons DBCP、およびCommonsDBCP2を理解してください。
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);
}
}
出力、Spring BootはデフォルトでTomcatプーリングを使用しています。
DATASOURCE = org.apache.tomcat.jdbc.pool.DataSource@7c541c15...
2. テストHikariCP
別の接続プール(HikariCPなど)に切り替えるには、デフォルトを除外して、クラスパスにHikariCPを含めるだけです。
pom.xml
org.springframework.boot spring-boot-starter-jdbc org.apache.tomcat tomcat-jdbc com.zaxxer HikariCP 2.6.0
出力
DATASOURCE = HikariDataSource (HikariPool-1)
Note
この例を読む–Spring Boot
JDBC + MySQL + HikariCP example