데이터베이스 시간 초과 및 연결 풀링 과부하
이 Hibernate 문제, "com.mysql.jdbc.Exceptions.jdbc4.MySQLNonTransientConnectionException: 작업이 허용되지 않습니다. 연결이 닫힌 후"는 비활성으로 인해 영구 연결이 암시적으로 닫힐 때 발생합니다.
원인:
연결이 설정되었지만 다음 시간을 초과하는 오랜 기간 동안 비활성 상태로 유지됩니다. 서버의 "wait_timeout" 또는 "connectionTimeout"과 같은 클라이언트 시간 초과 설정.
해결 방법:
1. 서버 및 클라이언트 시간 초과 조정:
2. 연결 풀링 구성:
C3P0을 사용한 샘플 hibernate.cfg.xml 구성:
<code class="xml"><property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property> <property name="c3p0.max_size">20</property> <property name="c3p0.min_size">5</property> <property name="c3p0.timeout">1800</property> <property name="c3p0.idleTestPeriod">3600</property> <property name="c3p0.maxIdleTime">3600</property></code>
추가 팁:
위 내용은 \"MySQLNonTransientConnectionException: 연결이 닫힌 후 작업이 허용되지 않습니다\"가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!