Spring Boot(Spring Data JPA)でコネクションプールを設定する方法をまとめました。
ライブラリの自動選択
コネクションプールライブラリは以下の順序で選択される。(クラスパスにライブラリがあるか確認し、あればそのライブラリを選択し、なければ次のライブラリを確認する。)
spring-boot-starter-jdbc
もしくは spring-boot-starter-data-jpa
を利用している場合は、HikariCPが依存関係として解決されるため、何も設定していなければHikariCPが選択される。
ライブラリの指定方法
application.properties
(もしくはapplications.yaml
)の spring.datasource.type
プロパティに利用したいライブラリのDataSource( javax.sql.DataSource
継承クラス)を指定することで変更ができる。
HikariCPの場合
設定可能な項目はConfigurationを参照。
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/test_db
username: user
password: password
type: com.zaxxer.hikari.HikariDataSource
hikari:
maximum-pool-size: 20
minimum-idle: 10
Tomcat JDBC Connection Poolの場合
設定可能な項目はCommon Attributesを参照。
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/test_db
username: user
password: password
type: org.apache.tomcat.jdbc.pool.DataSource
tomcat:
max-active: 20
min-idle: 10