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

Tomcat-Konfiguration mit DBCP

Da DBCP zurückgegebene MySQL-Verbindungen für anstehende Verbindungsanfragen offen hält, fallen sie Opfer des MySQL Server-Zeitüberschreitung .

DBCP hat eine Reihe von Funktionen, die hilfreich sein können (kann ab Tomcat 5.5 IIRC verwendet werden).

validationQuery="SELECT 1"
testOnBorrow="true"

Die Validierung stellt sicher, dass eine Verbindung gültig ist, bevor sie an eine Webanwendung zurückgegeben wird, die die Methode „Borrow“ ausführt. Das Flag aktiviert diese Funktion natürlich.

Wenn das Timeout (8 Stunden, glaube ich) abgelaufen ist und die Verbindung tot ist, wird eine neue Verbindung getestet (wenn keine mehr besteht, wird sie erstellt) und der Webapp bereitgestellt.

Andere mögliche Ansätze:

  1. Verwenden Sie den testWhileIdle="true" DBCP in Ihren Ressourceneinstellungen, um auch inaktive Verbindungen zu überprüfen, bevor eine effektive Anfrage erkannt wird.

  2. Verwenden Sie die 'connectionProperties', um Ihre MySQL-Verbindung zu härten (z. B. autoReconnect/autoReconnectForPools=true )