Language/Java

tomcat jdbc Connection pool options

아르비스 2016. 7. 11. 11:07

maxActive : 서비스에서 동시에 사용될수 있는 최대 커넥션 개수. (기본값 : 8)

 - (maxAcive - maxIdle ) 개의 커넥션은 pool 에 반환되지 않고 제거(real destory) 된다.


maxIdle : 커넥션 풀에서 유지될수 있는 idle 상태 커넥션의 최대 개수. (기본값 : 8)


minIdle : 커넥션 풀에 유지되수 있는 idle 상태 커넥션의 최소 개수. (기본값 : 0)


maxWait : 커넥션 사용이 많아져서 커넥션 풀이 비었을때 사용할수 있는 커넥션을 반환받기까지 기다릴수 있는 최대시간 (ms) (기본값: -1, 무한대기)


validationQuery : 커넥션 풀에서 커넥션을 가져올때 해당 커넥션의 유효성 검증에 사용할 SQL Query (반드시 하나 이상의 row 가 반환될 SELECT 구분이어야 함.)


testOnBorrow : 커넥션 풀에서 커넥션을 가져올때 해당 커넥션의 유효성 검사를 할것인지 여부. (기본값 : true, 반드시 validationQuery 가 설정되어 있어야 함.)


testOnReturn : testOnBorrow 와 비슷함. 다만 유효성 검사 시점이 커넥션을 풀에 반환할때 이다.


testWhileIde : 커넥션 유효성 검사를 풀에 idle 상태에 존재할때 실시할것인지 여부 (기본값 : false, 반드시 validationQuery 가 설정되어 있어야 함.)


timeBetweenEvictionRunsMillis : 설정된 시간 간격마다 놀고 있는 커넥션을 풀에서 제거하는 evictor thread 가 실행된다(Evictor Thread 실행 주기 설정). minIdle 로 커넥션을 유지한다. (default 60sec : 60000)


numTestsPerEvictionRun : evictor thread 가 한번실행시 검사할 대상 커넥션 개수.


minEvictableIdleTimeMillis : evictor thread 작업시 설정된 시간만큼 사용되지 않은 커넥션을 제거한다(만료여부를 체크할 시간 정의). 그리고, thestWhileIdle 옵션이 true일 경우 설정된 시간을 초과하지 않은 커넥션에 대해서 validationQuery를 수행해서 유효하지 않은 커넥션을 제거한다.

evictor thread 는 마지막으로 minIdle 커넥션을 생성 유지시킴


removeAbandonedTimeout : 유효하지 않은 커넥션의 삭제시의 타임아웃

(default 60sec : 60000)


removeAbandoned : 유효하지 않는 커넥션의 제거 여부 (default false)