DBCP단에서 connection을 정리하는 방법

1. testOnBorrow
    Pool에서 connection 가져올 때마다   validationQuery를 날림
   특정기간 마다 connection의 연결성을 보장하기 위해서 아무쿼리 날림

2. testWhileIdle 
   특정기간(testBetweenEvictioRunMillis)마다 특정개수(numTestsPerEvictionRun)만큼 idle한 connection 가 잘 연결되어 있는지 validataionQuery로  체크 
  
3. 자체 처리
    DBCP 내부에서 Connection에 문제가 생겼다면, pool로 반납하지 않는다.
    Connection의 isClosed()의 결과값이 true이면 pool로 반환, false이면 connection을 반환하지 않는다. (정리된다.)
   

오라클 Driver 단에서 connection을 정리
1. Connection을 Pool에 꺼내서 사용할때, 만약 끊어져 있으면 closed로 변경
(오라클 DB는 10을 쓰지만, 이 부분에 대해서 버그가 있어서 클라이언트 드라이버는 11을 사용한 부분 있음)


TODO. 나중에 DBCP 관련해서 PPT 만들어보기

Posted by '김용환'
,