Anda menghadapi ralat terputus-putus, kegagalan pautan Komunikasi, apabila menggunakan aplikasi pentadbir untuk memuat naik fail untuk aplikasi utama. Ralat ini berlaku selepas memproses lebih kurang 100-120 permintaan, setiap satu melibatkan 10-20 operasi pangkalan data.
Mesej ralat menunjukkan kegagalan pautan komunikasi antara pemacu JDBC dan sumber data MySQL :
SQL Error: 0, SQLState: 08S01 Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Ralat ini mencadangkan gangguan rangkaian antara pangkalan data dan pelayan aplikasi. Punca biasa termasuk:
Untuk menyelesaikan isu ini, pertimbangkan langkah berikut:
Semak parameter konfigurasi berikut dalam pangkalan data dan tetapan Hibernate anda:
Sambungan Pangkalan Data Pool:
Hibernate:
<code class="java">// Database Connection Pool BasicDataSource dbDataSource = new BasicDataSource(); dbDataSource.setUrl("jdbc:mysql://localhost/my_database"); dbDataSource.setUsername("test"); dbDataSource.setPassword("test"); dbDataSource.setMaxActive(500); dbDataSource.setMaxIdle(8); dbDataSource.setValidationQuery("SELECT 1"); dbDataSource.setTestOnBorrow(true); // Hibernate Configuration Properties hibernateProperties = new Properties(); hibernateProperties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); hibernateProperties.put("hibernate.jdbc.batch_size", 100); SessionFactory sessionFactory = new Configuration() .addProperties(hibernateProperties) .addAnnotatedClass(FilePackage.class) .buildSessionFactory();</code>
Atas ialah kandungan terperinci Berikut ialah tajuk yang boleh anda gunakan: Mengapa Saya Mendapat Ralat \'Kegagalan Pautan Komunikasi\' Antara Aplikasi JDBC Saya dan Pangkalan Data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!