◆ DBCP(Database Connection Pool)
◆ 정의
- 데이터베이스 연결을 효율적으로 관리하기 위한 기술입니다.
- 데이터베이스 연결을 필요할 때마다 매번 새로운 연결을 생성하는 것이 아니라, 미리 생성된 연결을 사용하고 반환하여 연결 생성/삭제의 오버헤드를 줄일 수 있습니다.
◆ 장점
- 연결 생성/해제 오버헤드를 줄일 수 있습니다.
- 동시에 다수의 클라이언트 요청을 처리할 수 있습니다.
- 커넥션 풀이 제공하는 기능을 이용하여, 커넥션 풀 크기 제한, 커넥션 유효성 체크, 커넥션 최대 유지 시간 등을 설정할 수 있습니다.
◆ DBCP를 사용하는 방법
- 데이터베이스 드라이버를 로드합니다.
- 커넥션 풀을 생성하고 초기 커넥션 수를 설정합니다.
- 필요한 곳에서 커넥션을 얻어 사용합니다.
- 작업을 마친 후에는 커넥션을 반환합니다.
- DBCP를 구현하기 위해서는 Apache Commons DBCP나 HikariCP 등의 라이브러리를 사용할 수 있습니다. 이러한 라이브러리를 사용하면, 커넥션 풀을 생성하고 관리하는 데 필요한 코드를 직접 작성할 필요 없이 라이브러리에서 제공하는 인터페이스를 사용하여 간단하게 구현할 수 있습니다.
◆ DBCP 설정 방법
- src/main/resources/application.properties 파일을 클릭
- 아래와 같이 코드를 작성해주면 DBCP 설정이 완료된다.
- 총 자리수 : spring.datasource.dbcp2.max-total=20
- 최소 유휴 연결수 : spring.datasource.dbcp2.min-idle=0
- 최대 유휴 연결수 : spring.datasource.dbcp2.max-idle=10
- 0은 자리가 날 때 까지 기다림 : spring.datasource.dbcp2.max-wait-millis=0
- 3자리가 날 때 까지 기다림 : spring.datasource.dbcp2.max-wait-millis=3000