반응형
Spring Boot DBCP
DataSource Connection Pool
Hikari Connection Pool
DBCP : DataBase Connection Pool
지금은 단순히 DataBase 에 Connection 하기 위해 아래와 같은 설정을 했습니다.
application.yml
SpringBoot 의 Connection Pool 하면 여러가지가 있는데 그 중 HikariCP 를 선택합니다.
실제 밴치마크한 데이터를 보면
(좌측 그래프) ConnectionCycle : DataSource.getConnection() -> Connection.close()
(우측 그래프) StatementCycle : Connection.prepareStatement(), Statement.execute(), Statement.close()
spring boot 는 2.0 버전 이후에 HikariCP 를 default 로 선택했네요.
빠르고, 단순하고, 안정적입니다.
build.gradle 에 따로 추가할 필요는 없습니다.
'org.springframework.boot:spring-boot-starter-jdbc'
여기에 포함되어있습니다.
또는 'org.springframework.boot:spring-boot-starter-jdbc-jpa'
src/main/resources 에 application.yml 을 변경합니다.
spring:
datasource:
url: jdbc:mysql://localhost:3306/world?serverTimeZone=UTC&CharacterEncoding=UTF-8
username: root
password: your_password
hikari:
maximum-pool-size: 10
connection-timeout: 5000
connection-init-sql: SELECT 1
validation-timeout: 2000
minimum-idle: 10
idle-timeout: 600000
max-lifetime: 1800000
server:
port: 8000
options
- maximum-pool-size: 최대 pool size (defailt 10)
- connection-timeout: (말 그대로)
- connection-init-sql: SELECT 1
- validation-timeout: 2000
- minimum-idle: 연결 풀에서 HikariCP가 유지 관리하는 최소 유휴 연결 수
- idle-timeout: 연결을위한 최대 유휴 시간
- max-lifetime: 닫힌 후 pool 에있는 connection의 최대 수명 (ms)입니다.
- auto-commit: auto commit 여부 (default true)
만약에 Data Source 를 Cutomize 하려면 Configuration class 를 만듭니다.
Data Source Configuration
@Configuration
public class DataSourceConfiguration {
@Bean(name="customDataSource")
@ConfigurationProperties("spring.datasource")
public DataSource customDataSource() {
return DataSourceBuilder.create().build();
}
}
서버 실행 후 테스트
Spring Boot Tutorial 시리즈
- 2021.07.03 - [Java] - [SpringBoot] RestApi 만들기 (1) 프로젝트 생성
- 2021.07.03 - [Java] - [SpringBoot] RestApi 만들기 (2) JSON 형식 리턴
- 2021.07.04 - [Java] - [SpringBoot] RestApi 만들기 (3) Log (slf4j+logback)
- 2021.07.04 - [Java] - [SpringBoot] RestApi 만들기 (4) Service 생성 (의존성 주입)
- 2021.07.04 - [Java] - [SpringBoot] RestApi 만들기 (5.1) MySQL + JDBC Template. 1
- 2021.07.05 - [Java] - [SpringBoot] RestApi 만들기 (5.2) DBCP - HikariCP
- 2021.07.08 - [java] - [SpringBoot] RestApi 만들기 (5.3) jdbcTemplate - Select
- 2021.07.10 - [Java] - [SpringBoot] RestApi 만들기 (5.4) GetMapping, PostMapping
- 2021.07.10 - [Java] - [SpringBoot] RestApi 만들기 (5.5) jdbcTemplate - Insert, Update, Delete
- 2021.07.11 - [Java] - [SpringBoot] RestApi 만들기 (6) File Upload / Download / List
Spring Boot Tutorial 부록
728x90
반응형
'Java' 카테고리의 다른 글
[SpringBoot] RestApi 만들기 (5.3) jdbcTemplate - Select (0) | 2021.07.08 |
---|---|
[SpringBoot] Controller 에 Route 적용 (RequestMapping) (0) | 2021.07.07 |
[SpringBoot] RestApi 만들기 (5.1) MySQL + JDBC Template (4) | 2021.07.04 |
Eclipse 에 groovy 설치 하기 (0) | 2021.07.04 |
[SpringBoot] MyBatis 보다 Spring JDBC 를 사용해야 하는 이유 (0) | 2021.07.04 |
댓글