본문 바로가기

Snippets

tomcat 컨넥션풀 사용시 연결끊김을 방지 하기 위한 설정

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

컨넥션 풀을 설정할 때 database에서 요청이 없는 컨넥션을 닫아버리기 때문에 컨넥션이 끊기는 경우가 발생됨. 

이는 MySQL이 일정시간(약 8시간 이상) 아무 동작을 하지 않은 컨넥션 세션을 닫아버리기 때문.


따라서 다음과 같이 autoReconnection에 대한 파라미터를 설정해주고 주기적으로 쿼리를 날려줌으로써 컨넥션을 확인하고 컨넥션 세션을 유지함. 


autoReconnection의 경우 자동연결 설정에 대한 셋팅값이지만 이 또한 컨센션이 끊긴 후 최초 1번 db 연결시 에러를 발생시킴. 컨넥션이 없는 경우이기 때문. 해당 에러 발생 후 자동으로 연결을 맺게 되는 구조이기 때문에 이걸 방지하고자 validationQuery로 세션 유지를 위한 최소한의 활동을 해야함.



<Resource 


..... 


url="jdbc:mysql://localhost:3306/testdb?autoReconnection=true" 

validationQuery="SELECT 1" 

testWhileIdle="true" 

timeBetweenEvictionRunsMillis="60000"/>