톰캣에서 DBCP 관련되어있는 소스를 보다가, 내가 헷갈려서 알아보다가 나중에 까먹을까봐 포스팅한다 ㅎㅎ.
initialSize : BasicDataSource 클래스 생성 후 최초로 getConnection() 메소드를 호출할 때 커넥션 풀에 채워 넣을 커넥션 개수
maxActive : 커넥션 풀이 제공할 최대 커넥션 개수 (df:8)
maxIdle : 사용되지 않고 풀에 저장될 수 있는 최대 커넥션 개수. 음수일 경우 제한없음. (df:8)
minIdle : 사용되지 않고 풀에 저장될 수 있는 최소 커넥션 개수. (df:0)
maxWait : 커넥션 사용이 많아져서 커넥션 풀이 비었을 때 사용할 수 있는 커넥션을 반환받기 까지 기다릴 최대 시간(ms). 음수일 경우 무한대기. (df:-1)
위 항목들이 따라야 할 조건 > maxActive >= initialSize, maxIdle >= minIdle, maxActive=maxIdle
testOnBorrow : 커넥션 풀에서 커넥션을 얻어올 때 유효한 커넥션인지 검증 (df:true) -> 제대로 실행하려면 validationQuery 값이 null 이면 안된다.
testOnReturn : 커넥션 풀로 커넥션을 반환할 때 아직 유효한 커넥션인지 검증 (df:false)
testWhileIdle : Evictor 스레드가 실행될 때 (timeBetweenEvictionRunMillis > 0) 커넥션 풀 안에 있는 유휴 상태의 커넥션을 대상으로 검증 (df:false)
validationQuery : 위 3개를 검증하는 쿼리 (Oracle:select 1 from dual / MySQL:select 1)
참고한 사이트
: https://commons.apache.org/proper/commons-dbcp/configuration.html,
https://www.codepedia.org/ama/tomcat-jdbc-connection-pool-configuration-for-production-and-development/,
https://d2.naver.com/helloworld/5102792
'기초 > 용어정리' 카테고리의 다른 글
Checked Exception, UnChecked Exception (0) | 2021.06.15 |
---|---|
Spring Bean (0) | 2018.05.02 |
Spring (0) | 2018.05.02 |
AOP (0) | 2018.05.01 |
Primitive data type, Reference data type (0) | 2018.05.01 |
댓글