Aplikasi Spring Boot selalunya menggunakan rangka kerja JPA-Hibernate untuk memudahkan interaksi pangkalan data. Walau bagaimanapun, cabaran biasa yang dihadapi ialah kegagalan sambungan selepas selang masa tertentu, terutamanya apabila berurusan dengan MySQL sebagai pangkalan data asas.
Dalam senario sedemikian, log aplikasi biasanya memaparkan mesej ralat yang menunjukkan, "Paket terakhir berjaya diterima daripada pelayan ialah X milisaat yang lalu...," dengan X melebihi nilai tamat masa menunggu yang dikonfigurasikan pelayan.
Untuk menangani isu ini, beberapa pendekatan telah dicadangkan, termasuk penggunaan spring.datasource.testOnBorrow =true dan ciri spring.datasource.validationQuery. Walau bagaimanapun, kaedah ini secara amnya tidak digalakkan.
Penyelesaian pilihan adalah untuk melaksanakan pengesahan sambungan sepanjang jangka hayat aplikasi. Ini boleh dicapai dengan mengkonfigurasi sifat berikut:
Tetapan ini mendayakan pengesahan berkala sambungan semasa ia melahu, membenarkan kumpulan mengesan dan mengalih keluar sambungan yang rosak.
Disebabkan penggunaan Spring Boot 2.x terhadap HikariCP sebagai kumpulan sambungan lalainya, pengesahan sambungan kini dilakukan secara automatik oleh HikariCP apabila menggunakan mekanisme pengesahan JDBC.
Oleh itu, dengan mendayakan pengesahan dan menyediakan konfigurasi yang sesuai untuk pengurusan sambungan, adalah mungkin untuk mengurangkan ralat tamat masa sambungan dan memastikan interaksi pangkalan data yang boleh dipercayai dalam aplikasi Spring Boot menggunakan JPA-Hibernate dengan MySQL.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Tamat Masa Sambungan dalam Aplikasi Spring Boot Menggunakan JPA-Hibernate dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!