JDBC의 커넥션 풀을 위해 DBCP를 사용할때는 최초에 설정해야 하는 주요 파라미터들이 존재한다.
이 파라미터에 설정한 값에 따라 커넥션의 갯수 등의 주요한 정보가 설정되니 확실히 알고 넘어가야 할 일이다.
그렇다면 어떠한 파라미터가 존재하고 의미를 가지는지 알아보도록 하자.(apache commons 참고)
이 파라미터에 설정한 값에 따라 커넥션의 갯수 등의 주요한 정보가 설정되니 확실히 알고 넘어가야 할 일이다.
그렇다면 어떠한 파라미터가 존재하고 의미를 가지는지 알아보도록 하자.(apache commons 참고)
파라미터명 | 기본값 | 설명 |
defaultAutoCommit | true | 자동 커밋여부의 설정 |
initialSize | 0 | 최초 pool 생성시의 사이즈 |
maxActive | 8 | 활성화된 커넥션의 최대갯수 |
maxIdle | 8 | 커넥션 풀 안에 유휴상태로 존재하는 커넥션의 최대갯수(음수일경우 무제한) |
minIdle | 0 | 커넥션 풀 안에 유휴상태로 존재하는 커넥션의 최소갯수 |
whenExhaustedAction | 커넥션 풀에 사용할 수 있는 커넥션이 없을시 어떻게 동작할지 지정. 1일 경우 maxWait 지정값만큼 대기, 0은 에러, 2는 일시적 커넥션을 생성하여 사용 | |
maxWait | 무기한 | 커넥션풀에 사용할 수 있는 커넥션이 존재하지 않을 경우 exception을 발생시키기 전에 커넥션을 받기 위해 기다리는 최대시간(단위 : ms, -1로 설정시 무기한, whenExhaustedAction이 1일때 사용) |
testOnBorrow | true | 커넥션 풀에서 커넥션을 가져올때 커넥션의 유효여부 검증 |
testOnReturn | false | 커넥션 풀에 커넥션을 반환할 때 커넥션의 유효여부 검증 |
testWhileIdle | false | 비활성화 커넥션 추출시 유효여부를 검증하여 유효하지 않을 경우 커넥션 풀에서 제거 |
validationQuery | 커넥션이 정상적으로 연결되었는지 검증하는 쿼리. 반드시 select 이고 적어도 한줄의 결과값을 반환해야 한다.(SELECT 1) | |
timeBetweenEvictionRunsMillis | -1 | 사용되지 않은 커넥션을 추출하는 쓰레드의 실행 주기를 결정. 음수일 경우 실행되지 않는다. |
numTestsPerEvictionRunsMillis | 3 | 사용되지 않은 커넥션을 몇 개 검사할지 지정 |
minEvictableIdleTimeMillis | 1000*60*30 | 사용되지 않은 커넥션을 추출시 이 속성에서 지정한 시간 이상 비활성화 상태의 커넥션만 추출(음수일 경우 미적용) |
* 자주 사용한 파라미터 표시
위와 같이 다양한 파라미터가 존재한다는 것을 이번 정리를 통해 알 수 있었다. 물론 이 외에도 더 많은 파라미터가 존재하지만
사용할 법한 파라미터들만 추출했고, 자주 사용해왔던 파라미터는 따로 표시를 하였다.
사용할 법한 파라미터들만 추출했고, 자주 사용해왔던 파라미터는 따로 표시를 하였다.
'WEB' 카테고리의 다른 글
[WAS] 프로젝트별 server.xml 설정 (0) | 2011.09.05 |
---|---|
[WEB] 톰캣 설정파일을 사용한 DB연결 (0) | 2010.10.09 |