Driver MySQL JDBC memiliki fitur autoreconnect yang terkadang dapat membantu; lihat "Driver/Sumber data Nama Kelas, Sintaks URL, dan Properti Konfigurasi untuk Konektor/J ", dan baca peringatannya.
Opsi kedua adalah menggunakan kumpulan koneksi JDBC.
Opsi ketiga adalah melakukan kueri untuk menguji apakah koneksi Anda masih hidup di awal setiap transaksi. Jika koneksi tidak hidup, tutup dan buka koneksi baru. Permintaan umum adalah SELECT 1
. Lihat juga:
Solusi sederhana adalah mengubah properti konfigurasi MySQL untuk mengatur waktu tunggu sesi idle ke jumlah yang sangat besar. Namun:
- Ini tidak membantu jika aplikasi Anda mungkin menganggur untuk waktu yang sangat lama.
- Jika aplikasi Anda (atau aplikasi lain) membocorkan koneksi, meningkatkan waktu tunggu idle dapat berarti bahwa koneksi yang hilang tetap terbuka tanpa batas waktu ... yang tidak baik untuk penggunaan memori database.