반응형
안녕하세요. 삽질하는 프로그래머 통통만두입니다.
Spring Boot + MyBatis + MySQL 로 프로젝트를 진행하고 있습니다. MySQL 에서는 기본적으로 8시간동안 아무런 query가 없으면 자동으로 연결을 끊습니다. 제가 개발한 웹서버도 평일에는 잘 돌다가 주말 지나고 월요일 아침에 접속해보면 항상 아래와 같은 에러가 발생하였습니다. 에러페이지는 아직 구현을 안했습니다 ^^;
그래서 이와 같은 문제를 해결하기 위해서 1시간 또는 주기적으로 DB 서버에 dump query 을 날리는 것으로 스케쥴러, 배치 등 생각을 해봤지만 배보다 배꼽이 더 크고 깔끔하지 않기 때문에 spring boot 의 설정값을 찾아보았습니다. 일단 구글링을 통해서 알아보고 적용해보니 아래와 같은 설정값을 적용하시면 해결이 된다 입니다.
각각의 항목에 대해서는 구글링을 통해서 알아보시면 제가 설명하는 것보다 더 자세히 아실 수가 있을 것이고, 한 가지 중요한 점은 반드시
autoReconnection=true 를 해줘야 한다는 것입니다. 저 property를 빼고 아래의 설정값을 적용하니 제대로 동작을 안하는 것 같더라구요.
application.properties
spring.datasource.connectionProperties=useUnicode=yes;characterEncoding=UTF-8;autoReconnection=true
spring.datasource.initSQL=SELECT 1
spring.datasource.test-on-borrow=true
spring.datasource.test-while-idle=true
spring.datasource.validation-query=SELECT 1
spring.datasource.time-between-eviction-runs-millis=600000
저와 같은 문제로 해결책을 찾고 계시는 분들에게 도움이 되었으면 좋겠습니다.
감사합니다.
반응형
'Programming > Spring Framework' 카테고리의 다른 글
[Spring] redis 를 통한 session 공유 및 하위 도메인간 세션 공유 (0) | 2022.07.15 |
---|---|
[Spring Boot] Filter 적용 (0) | 2016.10.19 |
[Spring Boot] jasypt 암호화 적용 (0) | 2016.10.18 |
[Spring Boot] tiles3 설정하기 (3) | 2016.10.13 |
[Spring Boot] Interceptor 설정하기 (0) | 2016.10.13 |