Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die Verbindung mit MySql wird automatisch abgebrochen. Wie konfiguriere ich Connector/J richtig?

Der Text beschreibt drei Lösungen, um Verbindungsabbrüche zu verhindern:

  1. Konfigurieren Sie die Verbindungszeichenfolge mit autoReconnect=true . Dies ist eine Eigenschaft der URL-Verbindungszeichenfolge, die auf Treiberebene funktioniert. Sie müssen die Verbindungszeichenfolge in der Datenquellenkonfiguration ändern.

    url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true"
    
  2. Erhöhen Sie die Zeitüberschreitung. Dies ist normalerweise eine Eigenschaft der Datenbank. Sie können diesen Wert erhöhen, um zu sehen, ob Sie weniger Verbindungsabbrüche erhalten.

  3. Konfigurieren Sie den Verbindungspool, um die Verbindungsvalidierung zu testen. Dies geschieht am Pool, nicht auf Fahrerebene. Dies hängt von der Datenquellenimplementierung ab, die Sie verwenden. Aber es sollte in der Eigenschaft der Datenquelle konfigurierbar sein, wenn Sie eine gepoolte verwenden, z. c3p0 .

Zusätzliche Kommentare:

  • Die Datenquelle/der Pool kann auch ein Timeout haben, das der Zeit entspricht, die eine inaktive Verbindung im Pool verbleibt. Nicht zu verwechseln mit dem db timeout.
  • Es gibt mehrere Möglichkeiten, die Gültigkeit einer Verbindung zu testen. Ein üblicher Weg ist, eine Dummy-Testtabelle zu haben. Der Pool gibt eine Auswahl an der Dummy-Testtabelle aus, um zu sehen, ob die Verbindung noch in Ordnung ist.