2011-12-15 1 views
3

isValid(0) 함수를 사용하여 연결이 여전히 활성 (활성)인지 여부를 확인할 수 있습니까?시간 초과를위한 MySql isValid 메소드

나는 다음과 같은 예외를 얻고있다 :

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : 마지막 패킷이 성공적이었다 밀리 초 전 서버에서 수신

. 서버에 성공적으로 보낸 마지막 패킷은 밀리 초 전이었으며 서버 구성 값인 'wait_timeout'보다 깁니다.

당신은/J 연결 속성을 클라이언트 시간 제한에 대한 서버를 구성 값을 증가 또는 커넥터를 사용하여 응용 프로그램에서 사용하기 전에 하나 만료 및/또는 테스트 연결 유효성을 고려해야한다 'autoReconnect = 사실'이 문제를 방지 할

'wait_timeout'값을 늘릴 수 없습니다.

나는 또한 autoReconnect=true으로 시도했지만 어쨌든 예외를 처리해야합니다.

나는 isValid() 기능에 대해 알게되었다. 그러나 어떤 종류의 유효성을 검사하는지 이해할 수 없었습니다.

isValid(0)을 사용하면 시간 초과 문제를 해결할 수 있습니까?

답변

0

the doc에 따르면 "검색어"를 실행하려면 isValid이 필요하므로 유용해야합니다.

드라이버는 연결에 대한 쿼리를 제출하거나이 메서드가 호출 될 때 연결이 여전히 유효한지 여부를 적극적으로 확인하는 다른 메커니즘을 사용해야합니다.

귀하의 연결 풀이 귀하를 위해해야 ​​할 일처럼 보입니다 ...

관련 문제