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

La connessione con MySql viene interrotta automaticamente. Come configurare correttamente Connector/J?

Il testo descrive tre soluzioni per prevenire le interruzioni di connessione:

  1. Configura la stringa di connessione con autoReconnect=true . Questa è una proprietà della stringa di connessione URL, che funziona a livello di driver. Devi modificare la stringa di connessione nella configurazione dell'origine dati.

    url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true"
    
  2. Aumenta il timeout. Questa è normalmente una proprietà del database. Puoi aumentare questo valore per vedere se ottieni meno interruzioni della connessione.

  3. Configurare il pool di connessioni per testare la convalida della connessione. Questo viene fatto in piscina, non a livello di pilota. Ciò dipenderà dall'implementazione dell'origine dati che utilizzi. Ma dovrebbe essere configurabile nella proprietà dell'origine dati, se ne utilizzi una in pool, ad es. c3p0 .

Commenti aggiuntivi:

  • L'origine dati/pool può anche avere un timeout, che corrisponde al tempo in cui una connessione inattiva rimane nel pool. Da non confondere con il timeout db.
  • Esistono diversi modi per verificare la validità di una connessione. Un modo comune è avere una tabella di test fittizia. Il pool emetterà una selezione sulla tabella di test fittizia per vedere se la connessione è ancora OK.