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