The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
와 같은 문구의 에러가 발생한다면 mysql의 커넥션유지문제로 인해 생기는 예외처리 문구라고 합니다.
해결방법
dataSource.xml파일에 디비커넥션부분에 파라미터추가및 수정을 아래와같이 해줍니다.
p:url="jdbc:mysql://serverIP/DatabaseName"
=> p:url="jdbc:mysql://serverIP/DatabaseName?autoReconnect=true"
p:validationQuery="SELECT 1" => MySql의 경우
p:validationQuery="select 1 from dual" => Oracle의 경우
p:testOnBorrow="true"
기타 DBCP옵션
maxActive : 커넥션 풀이 제공할 최대 커넥션 개수
maxIdle : 사용되지 않고 풀에 저장될 수 있는 최대 커넥션 개수. 음수일 경우 제한이 없다.
maxWait : whenExhaustedAction 속성의 값이 1일 때 사용되는 대기 시간. 단위는 1/1000초이며, 0 보다 작을 경우 무한히 대기한다.
testOnBorrow : true일 경우 커넥션 풀에서 커넥션을 가져올 때 커넥션이 유효한지의 여부를 검사한다.
testWhileIdle : true일 경우 비활성화 커넥션을 추출할 때 커넥션이 유효한지의 여부를 검사해서 유효하지 않은 커넥션은 풀에서 제거한다.
timeBetweenEvctionRunsMillis : 사용되지 않은 커넥션을 추출하는 쓰레드의 실행 주기를 지정한다. 양수가 아닐 경우 실행되지 않는다. 단위는 1/1000 초이다.
minEvictableIdleTimeMillis : 사용되지 않는 커넥션을 추출할 때 이 속성에서 지정한 시간 이상 비활성화 상태인 커넥션만 추출한다. 양수가 아닌 경우 비활성화된 시간으로는 풀에서 제거되지 않는다. 시간 단위는 1/1000초이다.
'Error Report > i-batis Exception' 카테고리의 다른 글
There is no statement named "XXXX" in this SqlMap (0) | 2012.07.21 |
---|---|
There is no READABLE property named 'XXXX' class 'java.lang.String' 오류 (0) | 2012.06.19 |