hibenate 연결 mysql 소프트웨어 로 인해 연결 이 끊 겼 습 니 다.
2874 단어 Hibernate
일반적인 상황 에서 문제 가 없 었 습 니 다.개발 과정 에서 우연히 제 컴퓨터 와 관련 이 없다 는 것 을 알 게 되 었 습 니 다.배 치 된 서버 가 계속 실행 되 고 장시간 사용 하지 않 았 습 니 다.다음 날 에 시스템 을 클릭 하면 배경 에 다음 과 같은 이상 이 발생 합 니 다.
** 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[JPA] 즉시로딩(EAGER)과 지연로딩(LAZY) (왜 LAZY 로딩을 써야할까?) (1)Proxy는 이 글의 주제인 즉시로딩과 지연로딩을 구현하는데 중요한 개념인데, 일단 원리는 미뤄두고 즉시로딩과 지연로딩이 무엇인지에 대해 먼저 알아보자. 눈 여겨 볼 곳은 'fetch = FetchType.EAGER...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.