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

connettore java jdbc mysql:come risolvere la disconnessione dopo un lungo periodo di inattività

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.