티스토리 뷰
톰캣을 사용하면서 처음 당해보는 오류
java.sql.SQLException:org.apache.tomcat.dbcp.dbcp.DelegatingStatement with address: "com.mysql.jdbc.StatementImpl@fb6354" is closed.
위와 같은 메세지를 표시하면서 쿼리가 두번은 날라가다가 데드락 현상처럼 접속을 종료를 시켜 버린다.
3일동안 완전 삽질만 해대다가 tomcat.dbcp.dbcp 이부분이 눈에 띄어 곰곰히 생각해본결과
톰캣에서 COMMON-DBCP에 대한 설정을 따로 해주지 않으면 기본적으로 톰캣에서 제공되는 TOMCAT-DBCP를 사용하는걸로 간주되어 진다.
그런대 왜 톰캣에서 기본 제공하는 DBCP는 접속을 하고 쿼리를 날리면서 접속을 끊어버리는지 아직 원인은 모르겠다.
위와 같은 오류가 발생하게 되면 Resource설정에서 factory부분을 추가해주면 해결된다.
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"
username="ppp_user" password="eksldpf1024" driverClassName="com.mysql.jdbc.Driver"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
validationQuery="select 1"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="10000"
minEvictableIdleTimeMillis="60000"
url="jdbc:mysql://127.0.0.1:3306/test?autoReconnect=true&characterEncoding=euckr" />
'Java > Exception' 카테고리의 다른 글
How to resolve : Access restriction on class due to restriction on required library rt.jar (0) | 2011.03.14 |
---|---|
java.sql.DataTruncation 이 발생했을때... (0) | 2008.07.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SSL
- 마이바티스CamelCase
- 마이바티스
- camelcase
- letsencrypt
- Letsencrypt wildcard auto renew
- Letsencrypt wildcard
- Letsencrypt+nginx
- Intellj들여쓰기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함