Masalah:
Semasa mengemas kini rekod dalam MySQL menggunakan Mybatis dan Spring, pengecualian ditemui menunjukkan kegagalan pautan komunikasi disebabkan oleh ralat bacaan soket:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 18,940 milliseconds ago. The last packet sent successfully to the server was 18,918 milliseconds ago.
Punca:
Sambungan MySQL tamat masa sebelum kolam sambungan mengenali mereka.
Penyelesaian:
Untuk menyelesaikan isu ini, beberapa pendekatan boleh diambil:
Tingkatkan Tamat Masa Nilai dalam Fail Konfig MySQL (my.ini):
Tingkatkan parameter tunggu_masa tamat dalam fail konfigurasi MySQL (my.ini) untuk melanjutkan masa melahu yang dibenarkan untuk sambungan.
Kurangkan Masa Melahu dalam Kolam Sambungan:
Konfigurasikan kumpulan sambungan untuk membuang sambungan sebelum MySQL menutupnya. Ini boleh dicapai dengan menetapkan nilai yang lebih rendah untuk parameter masa minIdle dan maxIdle.
Tambah Pertanyaan Sambungan Sahkan:
Tambah pertanyaan pengesahan kepada konfigurasi kolam sambungan. Pertanyaan ini memastikan bahawa kumpulan menguji setiap sambungan sebelum mengeluarkannya. Walau bagaimanapun, pendekatan ini mungkin memperkenalkan overhed prestasi.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Kegagalan Pautan Komunikasi' dalam Mybatis dan Spring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!