mybatis db connection timeout 질문드립니다.
- 작성자 :
- 장*규
- 작성일 :
- 2019-12-30 10:29:12
- 조회수 :
- 4,858
- 구분 :
- 운영환경
- 진행상태 :
- 완료
Q
기존에 ibatis를 사용하다가 프레임워크 버전을 올리면서 mybatis로 사용하는 도중 connection timeout 관련하여 문제가 생겨 질문드립니다.
MySql 사용중이며 해당 RDBMS에서는 autoReconnect=true가 동작하지 않는 것으로 알고 있습니다.
현재 DB의 timeout설정은 기본값인 28800으로 사용하고 있으며 application의 connection을 해당 시간만큼 사용하지 않으면 db쪽에서
connection을 끊어버리고 다시 재 연결이 되지않는것으로 파악하고 있습니다.
기존 iBatis에서는 위와 같은 connection이 오랜기간 사용되지 않을 때와 관련하여 dummy query를 날려주게끔 사용하던 Pool.PingQuery로 connection이 잘 유지되도록 사용하고 있었으며 이를 변경된 Mybatis에 맞게끔 적용하기 위하여 API등을 찾아보고 변경된 poolPingQuery로 적용하였는데 제대로 동작하지 않는 것 같습니다.
iBatis의 경우 log4j를 통한 로깅에서도 connection test와 관련한 로그를 확인할 수 있으나 mybatis 환경에서의 로깅에선 쿼리의 질의나 결과에 대해서는 정상 로깅을 확인할 수 있으나 해당 property세팅과 관련된 로그 또한 확인이 되질 않고 있습니다.
위와 같은 증상과 관련하여 기존 iBatis처럼 사용할 수 있는지, 아니라면 다른 세팅을 해야하는지 궁금합니다.
MySql 사용중이며 해당 RDBMS에서는 autoReconnect=true가 동작하지 않는 것으로 알고 있습니다.
현재 DB의 timeout설정은 기본값인 28800으로 사용하고 있으며 application의 connection을 해당 시간만큼 사용하지 않으면 db쪽에서
connection을 끊어버리고 다시 재 연결이 되지않는것으로 파악하고 있습니다.
기존 iBatis에서는 위와 같은 connection이 오랜기간 사용되지 않을 때와 관련하여 dummy query를 날려주게끔 사용하던 Pool.PingQuery로 connection이 잘 유지되도록 사용하고 있었으며 이를 변경된 Mybatis에 맞게끔 적용하기 위하여 API등을 찾아보고 변경된 poolPingQuery로 적용하였는데 제대로 동작하지 않는 것 같습니다.
iBatis의 경우 log4j를 통한 로깅에서도 connection test와 관련한 로그를 확인할 수 있으나 mybatis 환경에서의 로깅에선 쿼리의 질의나 결과에 대해서는 정상 로깅을 확인할 수 있으나 해당 property세팅과 관련된 로그 또한 확인이 되질 않고 있습니다.
위와 같은 증상과 관련하여 기존 iBatis처럼 사용할 수 있는지, 아니라면 다른 세팅을 해야하는지 궁금합니다.
첨부파일
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용으로 보아
커넥션풀 설정을 하신것으로 예상되고
오랫동안 사용하지 않는경우 풀 내에서 커넥션이 유지되지 않는것으로 이해됩니다.
표준프레임워크버전이나 DBCP버전등을 알수는 없으나
poolPingQuery 속성은 DBCP에 존재하지 않는것으로 확인됩니다.
validationQuery를 사용하셔야 할듯 합니다.
다음 페이지를 보시면 자세한 속성이나
관련정보를 확인하실수 있습니다.
https://commons.apache.org/proper/commons-dbcp/configuration.html
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용으로 보아
커넥션풀 설정을 하신것으로 예상되고
오랫동안 사용하지 않는경우 풀 내에서 커넥션이 유지되지 않는것으로 이해됩니다.
표준프레임워크버전이나 DBCP버전등을 알수는 없으나
poolPingQuery 속성은 DBCP에 존재하지 않는것으로 확인됩니다.
validationQuery를 사용하셔야 할듯 합니다.
다음 페이지를 보시면 자세한 속성이나
관련정보를 확인하실수 있습니다.
https://commons.apache.org/proper/commons-dbcp/configuration.html
감사합니다.