Mysql
 sql >> Database >  >> RDS >> Mysql

cos'è java.io.EOFException, messaggio:impossibile leggere la risposta dal server. Dovrebbe leggere 4 byte, leggere 0 byte

La connessione non è riuscita, probabilmente a causa di un timeout di inattività del firewall, ecc. Se il driver JDBC non è configurato per riconnettersi in caso di errore, questo errore non scomparirà a meno che non si apra una nuova connessione.

Se stai usando un pool di connessioni al database (tu sei usandone uno, giusto?), quindi probabilmente vorrai abilitare le sue funzionalità di controllo della connessione come l'emissione di una query per verificare se la connessione funziona prima di restituirla all'applicazione. In Apache commons-dbcp, questo è chiamato validationQuery ed è spesso impostato su qualcosa di semplice come SELECT 1 .

Dato che stai usando MySQL, dovresti usare una query "ping" specifica per Connector/J che sia più leggera rispetto all'emissione di una vera query SQL e impostare la query di convalida su /* ping */ SELECT 1 (la parte ping richiede per l'esattezza ).