Resolusi Tamat Masa Sambungan JDBC: Menyiasat Ralat Wait_Timeout
Artikel ini menangani isu di mana aplikasi Spring Boot menggunakan JPA Hibernate dengan MySQL mengalami sambungan penamatan selepas masa yang ditetapkan. Mesej ralat menunjukkan bahawa konfigurasi tunggu_masa tamat pelayan MySQL telah melebihi.
Penyelesaian Kemungkinan
Pada mulanya, pembangun mengenal pasti pilihan "testOnBorrow" dan "validationQuery", tetapi ini tidak disyorkan untuk menyelesaikan tamat masa isu.
Pendekatan Disyorkan: Mengkonfigurasi Pengesahan Sambungan dan Gelagat Kolam
Penyelesaian pilihan melibatkan mengkonfigurasi pengesahan sambungan dan gelagat kumpulan untuk memastikan sambungan terbiar atau bermasalah dikenal pasti dan dialih keluar .
URL JDBC Parameter
Menambah parameter "autoReconnect" pada URL JDBC ialah penyelesaian pantas, tetapi ia harus digunakan dengan berhati-hati kerana ia boleh membawa kepada isu semasa transaksi aktif.
spring.datasource.max-active
Menetapkan parameter ini mengehadkan bilangan maksimum sambungan aktif dalam pool.
spring.datasource.initial-size
Menentukan bilangan sambungan awal dalam pool.
spring.datasource. max-melahu dan spring.datasource.min-idle
Mengkonfigurasi bilangan maksimum dan minimum sambungan melahu.
spring.datasource.test-while-idle dan spring.datasource.test-on-borrow
Ini parameter membolehkan pengesahan sambungan semasa melahu atau semasa mendapatkan semula daripada kumpulan.
spring.datasource.validation-query
Parameter ini menentukan pertanyaan yang digunakan untuk pengesahan sambungan.
Nota: Gunakan kaedah pengesahan JDBC4 dan bukannya Pilihan "validationQuery" jika tersedia.
spring.datasource.time-between-eviction-runs-millis and spring.datasource.min-evictable-idle-time-millis
Parameter ini mengawal kekerapan dan kriteria untuk mengusir sambungan terbiar daripada pool.
Dengan melaksanakan konfigurasi ini, aplikasi anda akan sentiasa mengesahkan sambungan dan mengalih keluar sambungan yang tidak sah, menghalang ralat tamat masa sambungan. Spring Boot 2.x menggunakan HikariCP sebagai kumpulan sambungan lalai, yang menawarkan ciri pengurusan sambungan yang dipertingkatkan. Rujuk dokumentasinya untuk pilihan konfigurasi lanjut adalah disyorkan.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Tamat Masa Sambungan JDBC dalam Aplikasi Spring Boot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!