JdbcTemplate 클래스를 사용하여 Mysql 서버에서 데이터베이스 프로그래밍을 수행 할 때 SpringFramework와 함께 Java를 사용하고 있습니다.연결 유휴 시간 초과 오류를 올바르게 처리하는 방법
db 데이터 원본으로 org.apache.commons.dbcp.BasicDataSource
을 사용하십시오.
The last packet successfully received from the server was XXXXX milliseconds ago.
내가 연결에 autoReconnect 매개 변수를 추가하여이 문제를 처리하지 않으려 또는를 추가 : 연결이 오랜 시간 동안 유휴 상태 인 경우에
, CommunicationException
는 다음과 같은 메시지가 발생되고있다 속성을 사용하여 각 쿼리 앞에 select 1
을 실행하여 연결이 제대로 열려 있는지 확인하십시오. 나는 또한 mysql 서버의 구성을 만지고 타임 아웃 값을 높이기를 원하지 않는다.
내가 뭘하고 싶은지 제대로 예외를 처리하는 것입니다.
나는 CommunicationException
을 잡아서 성공할 때까지 다시 시도하고 X 회 이상 실패한 경우 X 번에 대해 다시 시도하는 것이 실패했다는 Exception을 throw합니다.
- 이 문제를 해결하는 방법에 대한 다른 아이디어가있는 사람이 있습니까?
- 내 아이디어는 어떻습니까? :)
- 어쩌면 springframework에 자동으로 저를위한 무언가가있을 것입니다.
모든 정보가 크게 감사하겠습니다.
감사합니다.
왜 autoReconnect를 사용하지 않으시겠습니까? – EJP
autoReconnect 매개 변수가 더 이상 사용되지 않습니다. – ufk
"연결 상태 또는 데이터베이스 상태 정보의 손상 위험없이 MySQL 서버에 안전하게 다시 연결할 수있는 방법이 없으므로 autoReconnect 옵션을 사용하지 않는 것이 좋습니다. 풀에서 사용 가능한 연결을 사용하여 응용 프로그램을 MySQL 서버에 연결할 수있게하는 연결 풀. autoReconnect 기능은 향후 제공되지 않을 예정이며 이후 릴리스에서 제거 될 수 있습니다. ", http://dev.mysql.com/doc /refman/5.1/en/connector-j-usagenotes-troubleshooting.html#qandaitem-21-3-5-3-1-4 – ptomli