티스토리 뷰

반응형

 

Spring Boot Connection Pool 설정

Spring boot 기본 connection pool이 spring boot 2.0.0버전부터 hikariCP로 변경되었고

Spring boot 2.0.0 이상버전에서 hikariCP를 TomcatJDBC Connection Pool 로 변경하는 방법

 

성능상으로 hikariCP가 다른 DBCP보다 성능은 좋지만 혹시 변경할 일이 있을 경우를 대비해 포스팅

 

Spring boot 초기세팅(hikaraCP)

Pom.xml

1
2
3
4
5
6
7
8
9
10
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
cs

applicatoin.properties

1
2
3
4
5
6
7
8
9
10
11
12
#mysql
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dev?useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=usrname
spring.datasource.password=pwd
 
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.hibernate.ddl-auto=none
 
logging.level.com=DEBUG
cs

실행시 로그레벨을 dubug로하여 확인해보면 default 인 hakiraCP로 연결이 된다.

 

1. Pom.xml dependency 변경

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.zaxxer</groupId>
                    <artifactId>HikariCP</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
            <version>10.0.16</version>
        </dependency>
cs

2.application.properties tomcat connection 설정 추가

1
2
3
4
5
6
7
#tomcat connection pool setting
spring.datasource.tomcat.initial-size=15 
spring.datasource.tomcat.max-wait=20000 
spring.datasource.tomcat.max-active=50 
spring.datasource.tomcat.max-idle=15 
spring.datasource.tomcat.min-idle=8 
spring.datasource.tomcat.default-auto-commit=true
cs

 

 

참고 : http://www.masterspringboot.com/configuration/web-server/configuring-tomcat-connection-pool-on-spring-boot/

반응형