프로그램/Web

톰캣 already closed 에러

잡식성초보 2014. 12. 5. 10:36

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