Come suggerisci, è perché mysql chiude le connessioni inattive dopo ogni wait_timeout
passa; hai alcune opzioni per aggirare il tuo problema:
- utilizza un gestore di pool di connessioni, come c3p0 o apache DBCP . Questo si occuperà della riconvalida delle connessioni su richiesta, eventualmente puoi specificare quale query eseguire per verificare se la connessione è attiva.
- imposta
wait_timeout
in mysql abbastanza grande per il tuo caso d'uso (il valore predefinito è 8 ore). - impostare un'attività pianificata (ad esempio utilizzando quartz ) che aggiorna le connessioni, "ping" il server MySQL.