[Spring Boot Gradle] Hikari CP MAX Connection Pool ์ค์ ํ๊ธฐ
๊ธฐ์กด DataSource ๊ฐ Hikari CP ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉ ์ค, Max Connection Pool ์ค์ ์ด ํ์ํ๊ฒ ๋์ด ์ค์ ์๋๋ฅผ ํจ.
try#1 - ์ค์ ๋ง ์ถ๊ฐ
application.yml
datasource:
url: jdbc:log4jdbc:url
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
username: username
password: password
# DB Connection Pool for local
hikari:
connectionTimeout : 30000
maximumPoolSize : 2
#maxLifetime : 1800000
#poolName : HikariCP
#readOnly : false
#connectionTestQuery : SELECT 1
DataSource Bean ๋ฐ๋ก ์กด์ฌํ์ง ์์.
>> ํด๋น ์ค์ ์ด ๋์ํ์ง ์์.
Why ?
>> DataSource ์์ฑ ์, ๋ฐ๋ก ๋ช ์ํ์ง ์์ ๊ธฐ๋ณธ์ ์ธ ์ค์ ๋ง ๊ฐ์ ธ๊ฐ๊ฒ ๋๋๋ฐ ์ด๋ spring.datasrouce ์ url,driver-class-name,username,password ๋ง ๊ฐ์ ธ๊ฐ๊ณ maximumPoolSize ์ ๊ฒฝ์ฐ spring.datasource.hikari ๋ฐ์ผ๋ก ๋ค์ด๊ฐ๋ฏ๋ก ์ธ์ํ์ง ์๋๋ค.
try#2 - ์ค์ ์ถ๊ฐ ํ, ds Bean ๋ฑ๋ก.
application.yml
datasource:
hikari:
jdbc-url: jdbc:log4jdbc:url
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
username: username
password: password
maximumPoolSize : 2
dbConfig.java
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource dataSource() {
HikariDataSource ds = (HikariDataSource) DataSourceBuilder.create().build();
return ds;
}
@ConfigurationProperties ์ด๋ ธํ ์ด์ ์ ํตํด, ํ๋กํผํฐ์ spring.datasource.hikari ๋ฐ์ ์ค์ ์ ์ฐธ์กฐํ๋๋ก ๋ณ๊ฒฝ.
>> ํด๋น ์ค์ ์ด ๋์ํ์ง ์์.
Why ?
>> DataSource ๋ฅผ ์ฌ์ฉํ๋ ๊ณณ์์ ํด๋น ๋ฐ์ดํฐ ์์ค๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด๋, ์บ์คํ ํ์ง ์์ HikariDataSource ์ด๊ธฐ ๋๋ฌธ์ ์ค์ ์ด ์ฌ์ฉ๋ ds ์ฌ๋ ์ค์ ์ฌ์ฉํ๋ ๊ณณ์์๋ ํด๋น ds ๊ฐ ์ ์ฉ๋์ง ์๋๋ค.
try#3 - Hikari ์ค์ ์ ๋น์ ๋ฑ๋ก ํ, ๋ฒ ์ด์ค Ds์์ ํด๋น ์ค์ ๊ฐ์ ธ์ DataSource๋ก ์บ์คํ ํ์ฌ ์ฌ์ฉ.
์ฐธ๊ณ : https://dotheright.tistory.com/188
7. Spring boot Oracle DB์ฐ๋(Thymeleaf, Hikari CP ํ์ฉ)
์์ค์ฝ๋ : https://github.com/ 1. ๊ธฐ์ด ์ค์ ๋ฐ ์์ 2. pom.xml 3. application.yml 4. config 5. mapper 6. view & controller 1. ๊ธฐ์ด ์ค์ ๋ฐ ์์ 0. ๋ชฉํ > Thymeleaf์ Hikari CP๋ฅผ ํ์ฉํ Spring boot..
dotheright.tistory.com
dbConfig.java
/**
* hikari cp config ๋ช
์ conf prop -> application.yml
*/
@Bean
@ConfigurationProperties("spring.datasource.hikari")
public HikariConfig hikariConfig() {
return new HikariConfig();
}
/**
* mybatis์ hikari cp ๋ฑ๋ก
*/
@Bean
public DataSource dataSource() {
DataSource dataSource = new HikariDataSource(hikariConfig());
return dataSource;
}
>> ์์ง ํด๋น ์ฌํญ์ ์ค์ ํ์ธํด๋ณด์ง ์์, ํ์ธ ํ ๊ฐ๋ฅ ์ฌ๋ถ ์
๋ฐ์ดํธ ์์
>> ์ค์ ๋ก ๋์ํ๋ ๊ฒ์ผ๋ก ํ์ธ!