Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan masalah \'com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Tiada operasi dibenarkan selepas sambungan ditutup\'?
"com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Tiada operasi dibenarkan selepas sambungan ditutup"
Isu:
Apabila menggunakan aplikasi ke pelayan jauh, pengecualian sambungan MySQL berlaku selepas aplikasi berjalan selama lebih sehari. Mesej pengecualian menyatakan bahawa tiada operasi dibenarkan selepas sambungan ditutup.
Punca:
Pengecualian mungkin disebabkan oleh sambungan terputus akibat tidak aktif. Tetapan tamat masa lalai untuk pelayan dan klien MySQL mungkin terlalu pendek, menyebabkan sambungan ditutup lebih awal.
Penyelesaian:
1. Laraskan Masa Tamat Pelayan dan Pelanggan
Pelayan (Konfigurasi MySQL):
Pelanggan (Hibernate/JDBC Connection Pool):
2. Dayakan Pengumpulan Sambungan
Langkah Tambahan:
Konfigurasi Hibernate Dikemas Kini:
Fail konfigurasi Hibernate dikemas kini yang disediakan menggunakan pengumpulan sambungan C3P0 dan termasuk tetapan yang disyorkan:
<hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/xyz</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <!-- Enable C3P0 connection pooling --> <property name="hibernate.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.max_statements">0</property> <property name="c3p0.timeout">600</property> <property name="c3p0.idleConnectionTestPeriod">3600</property> <property name="c3p0.testConnectionOnCheckout">true</property> </session-factory> </hibernate-configuration>
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan masalah \'com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Tiada operasi dibenarkan selepas sambungan ditutup\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!