문제:
Mybatis 및 Spring을 사용하여 MySQL에서 레코드를 업데이트하는 동안 소켓 읽기 오류로 인한 통신 링크 실패를 나타내는 예외가 발생했습니다.
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 18,940 milliseconds ago. The last packet sent successfully to the server was 18,918 milliseconds ago.
원인:
연결 풀이 연결을 인식하기 전에 MySQL 연결 시간이 초과되었습니다.
해결 방법:
이 문제를 해결하려면 다음과 같은 몇 가지 접근 방식을 사용할 수 있습니다. take:
MySQL 구성 파일(my.ini)에서 시간 초과 값을 늘립니다.
MySQL 구성 파일(my.ini)에서 wait_timeout 매개변수를 늘립니다. .ini)을 사용하여 연결에 허용된 유휴 시간을 연장합니다.
연결 풀의 유휴 시간 줄이기:
연결을 삭제하도록 연결 풀을 구성합니다. MySQL이 닫히기 전에. 이는 minIdle 및 maxIdle 시간 매개변수에 대해 더 낮은 값을 설정하여 달성할 수 있습니다.
연결 확인 쿼리 추가:
확인 쿼리 추가 연결 풀 구성에. 이 쿼리는 풀이 각 연결을 실행하기 전에 테스트하는지 확인합니다. 그러나 이 접근 방식은 성능 오버헤드를 초래할 수 있습니다.
위 내용은 Mybatis 및 Spring에서 'com.mysql.jdbc.Exceptions.jdbc4.CommunicationsException: Communications Link Failure'가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!