Springブートでは、
@ Autowired``が
javax.sql.DataSource`であり、現在実行中のアプリケーションでどのデータベース接続プールが使用されているかを知ることができます。
1.テストデフォルト
`javax.sql.DataSource`を出力するSpringブートの例
package com.mkyong; 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); } }
出力、SpringBootはデフォルトでTomcatプールを使用しています。
DATASOURCE = org.apache.tomcat.jdbc.pool.DataSource@7c541c15...
2. HikariCPをテストする
他の接続プール(例えばHikariCP)に切り替えるには、デフォルトを除外し、HikariCPをクラスパスに含めます。
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </exclusion> </exclusions> </dependency> <!-- connection pools --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>2.6.0</version> </dependency>
出力
DATASOURCE = HikariDataSource (HikariPool-1)
-
Note
この例を読む –
SpringブートJDBC MySQL HikariCPの例
参考文献
-
リンク://spring-boot/spring-boot-jdbc-mysql-hikaricp-example/[Spring
ブートJDBC + MySQL + HikariCPの例]