서버, 네트워크

Mysql Failed to validate connection 오류

마리오64 2020. 3. 11. 12:49

포트폴리오로 사용중인 사이트에 들어갔는데 일부 기능이 405 에러가 나면서 제대로 동작하지않았습니다.

로그파일을 확인해보니

Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@23323911 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.

DB 에 연결되는 시간이후에는 연결이 끊어집니다.

mysql 의 커넥션 연결 기본값은 8시간

jdbc 연결에   ?autoReconnect=true 을 붙입니다.

커넥션이 연결이 끊어졌을때 재연결을 하기위함입니다.

추가로

 

스프링부트 1버전일 경우 application.properties 설정파일에

아래와 같이 쿼리하기전에 유효한지 테스트쿼리를 보내면 됩니다.

DBCP마다 다르지만 dbcp2는 아래와 같습니다.

spring.datasource.dbcp2.test-on-borrow=true
spring.datasource.dbcp2.validation-query=select 1

 

스프링부트 2버전부터는 히카리DBCP로 변경되었습니다.

히카리 DBCP는 validation-query=select 1 유효쿼리날리는것을 생략하기때문에 설정이 필요없습니다.