본문 바로가기

프로그램/Web

톰캣 already closed 에러

반응형

Tomcat에서 mysql을 사용하다보면 Alreay closed란 오류가 발생한다...

톰캣과 mysql서버가 연결되어있던것이 아무런 동작을 하지 않아서 자동으로 끊어져 있어서 그런것으로

생각된다. 그래서 이것을 해결하기 위해서

해결책

DBCP가 connection을 돌려주기 전 해당 connection이 살아있는지 검사하는 설정을 해야 한다.

    <Resource name="jdbc/MyDS" auth="Container" type="javax.sql.DataSource"
        username="nextree"
        password="xxx"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/nextree"
        validationQuery="select 1" />

validationQuery 설정은 DBCP가 connection을 반환하기전 설정된 쿼리를 날려 connection이 유효한지 검사하고 유효하지 않다면 다시 연결하여 유효한 connection을 반환한다.

이 설정은 대부분의 WAS가 모두 지원하고 운영서버에서 반드시 해주어야하는 설정인데... 신경을 써야한다.
그 외 운영 서버에서  권장되는 설정은 아래 URL을 참조하면 된다.


반응형

'프로그램 > Web' 카테고리의 다른 글

자바 소수점 자르기  (0) 2015.01.22
checkbox 값을 java로 넘기는거에 관련된 이야기...  (1) 2015.01.06
escape와 unescape  (0) 2014.12.24
Jfreechart 서버사용  (0) 2014.12.10
Only a type can be imported 에러  (0) 2014.12.09