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

Configurazione Tomcat tramite DBCP

Poiché DBCP mantiene aperte le connessioni MySQL restituite per le richieste di connessione imminenti, cadono vittime del Timeout di MySQL Server .

DBCP ha una serie di funzionalità che possono aiutare (può essere utilizzato a partire da Tomcat 5.5 IIRC).

validationQuery="SELECT 1"
testOnBorrow="true"

La convalida assicura che una connessione sia valida prima di restituirla a un'app Web che esegue il metodo 'prestito'. La bandiera ovviamente abilita questa funzione.

Se il timeout (credo 8 ore) è scaduto e la connessione è interrotta, viene testata una nuova connessione (se non ce ne sono più, viene creata) e fornita alla webapp.

Altri possibili approcci:

  1. usa testWhileIdle="true" DBCP nelle impostazioni delle risorse per controllare anche le connessioni inattive prima che venga rilevata una richiesta effettiva.

  2. Usa 'connectionProperties' per rafforzare la tua connessione MySQL (ad es. autoReconnect/autoReconnectForPools=true )