JAVA: 282개의 글
tomcat dbcp를 이용하여 검색데이터 추출할 때, mysql 사용. mysql wait_timeout 설정(기본값 28800 , 8시간) 에 의해 커넥션이 연결된 이후 해당 커넥션의 close 없이 8시간이 지나면 해당 커넥션을 종료. ▶issue : 종료된 커넥션을 dbcp의 connection pool 에선 여전히 가지고 있는 상태. 이런 상황에서 DB 관련 프로그램이 호출되면 커넥션 관련 에러가 발생. ▶solution : java에서 DB를 사용하기 전에 해당 connection 이 정상적인지 검사를 하도록 하는 것. 이 옵션이 validationQuery. 와 같이 사용하면 된다. 오라클의 경우 : validationQuery="select 1 from dual" 출처 : blog.hoon..
DB Connection Pool을 사용하다가, 어쩌다가 가끔 커넥션이 끊겨 버리는 오류가 발생하기도 한다. 아래는 Jakarta Commons DBCP 커넥션 풀을 사용하면서 그런 현상이 발생했을 때의 대처 방법이다. 어떤 서버는 소켓이 열린상태로 장시간 아무런 데이터 이동없이 방치될경우 소켓을 강제로 닫아버리는 경우도 있습니다. 보름에 한 번정도 발생한다는 것은 아마도, 보름에 한 번 정도 아무 사용자도 없는 상태가 장시간 계속되었기 때문일 것으로 예상됩니다. DBCP를 사용하시는 것으로 보이는군요. 그렇다면 설정을 통해 손쉽게 해결할 수 있습니다. * DBCP 설정하기 참조 상세 설정은 DBCP를 어떻게 호출하느냐(Spring, 혹은 Tomcat DataSource 설정, 기타 등등)에 따라 전혀 ..