Il driver MySQL JDBC ha una funzione di autoconnessione che può essere utile in alcune occasioni; vedere "Driver/origine dati Nomi di classi, sintassi URL e proprietà di configurazione per Connector/J " e leggi le avvertenze.
Una seconda opzione consiste nell'utilizzare un pool di connessioni JDBC.
Una terza opzione è eseguire una query per verificare che la connessione sia ancora attiva all'inizio di ogni transazione. Se la connessione non è attiva, chiudila e apri una nuova connessione. Una query comune è SELECT 1
. Vedi anche:
Una soluzione semplice consiste nel modificare le proprietà di configurazione di MySQL per impostare il timeout di inattività della sessione su un numero davvero elevato. Tuttavia:
- Questo non aiuta se la tua applicazione rischia di rimanere inattiva per molto tempo.
- Se la tua applicazione (o qualche altra applicazione) perde connessioni, aumentare il timeout di inattività potrebbe significare che le connessioni perse rimangono aperte a tempo indeterminato... il che non va bene per l'utilizzo della memoria del database.