hibenate 연결 mysql 소프트웨어 로 인해 연결 이 끊 겼 습 니 다.

2874 단어 Hibernate
저 는 struts 2+Hibernate 를 사용 하여 j2ee 작은 시스템 을 개 발 했 습 니 다.데이터 베 이 스 는 my sql 5 를 사용 하고 배 치 된 서버 는 weblogic 10 입 니 다.
일반적인 상황 에서 문제 가 없 었 습 니 다.개발 과정 에서 우연히 제 컴퓨터 와 관련 이 없다 는 것 을 알 게 되 었 습 니 다.배 치 된 서버 가 계속 실행 되 고 장시간 사용 하지 않 았 습 니 다.다음 날 에 시스템 을 클릭 하면 배경 에 다음 과 같은 이상 이 발생 합 니 다.
** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: Software caused connection abort: socket write error

STACKTRACE:

java.net.SocketException: Software caused connection abort: socket write error
 at java.net.SocketOutputStream.socketWrite0(Native Method)
 at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
 at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
 at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
 at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
 at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2631)
 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1548)
 at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1659)
 at com.mysql.jdbc.Connection.execSQL(Connection.java:3118)
 at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1143)
 at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1256)
 at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
 at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)

.......

** END NESTED EXCEPTION **

 

Last packet sent to the server was 0 ms ago.

 
 
서버 를 다시 시작 한 후 모든 것 이 정상적으로 작 동 합 니 다.
이상 이상 에서 알 수 있 듯 이 weblogic 서버 와 my sql 데이터베이스 서버 간 에 연결 이 끊 겼 습 니 다.
이 유 는 MySQL wait timeout 의 값 은 기본적으로 28800(3600*8)입 니 다.즉,한 연결 이 8 시간 동안 활동 하지 않 으 면 자동 으로 연결 이 끊 깁 니 다.
wait timeout 을 수 동 으로 설정 하 더 라 도 최대 32767 로 더 이상 크 면 안 됩 니 다.
문제 가 발생 하 는 근본 적 인 원인 은 데이터 베 이 스 를 연결 하 는 데 장시간 활동 하지 않 았 기 때 문 입 니 다.그 다음은 아이디어 로 해결 하 는 것 입 니 다.반 여가:
제 가 사용 하 는 것 은 c3po 연결 탱크 입 니 다. c3p 0 의 남 은 설정 idletest_period,MySQL 의 wait timeout 보다 작 으 면 됩 니 다.
hibenate.cfg.xml 파일 에 추 가 된 연결 탱크 의 설정 은 다음 과 같 습 니 다.
 

	org.hibernate.connection.C3P0ConnectionProvider
	
	30
    
	5
    
	1800
    
	50
    
	120
    
	2
    
	true

좋은 웹페이지 즐겨찾기