DB 연결 및 처리에 사용되는 Connection, Statement, ResultSet 등의 자원을 명시적으로 close 하지 않으면 connection 누수 (leak) 현상이 발생할 수 있습니다. 누수가 계속되면 어느 순간 사용할 수 있는 connection 이 없어지는 상황에 직면할 수도 있습니다.
Tomcat 의 DBCP 는 이러한 누수에 대응할 수 있는 속성이 있습니다.
- removeAbandoned : Tomcat 에 의하여 누수 connection 을 강제 회수하며, default 는 false
- removeAbandonedTimeout : 누수 connection 이라고 판단되기 전 해당 connection 의 idle 시간이며, default 는 300 (sec)
- logAbandoned : 로그에 stack trace 를 기록하며, default 는 false