JDC-Pool 사용 시 좀비 커넥션에 대한 문제
일단 제가 파악하기로는 Pool에 담겨져 있는 JDCConnection이 Database와의 연결을
잃어버렸을 경우 좀비가 되더군요. 이 좀비는 JDCConnection에 있는 validate() 메소드로도
체크가 안됩니다. ㅜ.ㅜ
* 제가 사용한 테스트 방법
1. JDC-Pool을 이용하여 Database와 연결합니다. 특별한 문제가 없는 이상 성공.
2. Database가 다른 컴퓨터에 있는 경우 잠시 네크워크를 죽였다 살립니다.
Database가 같은 컴퓨터에 있는 경우 잠시 Database Service를 내렸다가 올립니다.
3. 다시, JDC-Pool을 이용하여 Database와 연결합니다.
java.sql.SQLException: IO 예외 상황: Connection reset by peer: socket write error 발생.
발생위치는 Statement stmt = conn.createStatement(); 입니다.
* 제가 생각한 해결방법
1. JDCConnection의 validate()를 수정한다.
conn.getMetaData(); 를 conn.createStatement(); 로...
2. JDCConnectionPool에서 getConnection() 메소드에 좀비 커넥션을 제거하는 로직을
추가한다.