Aangezien DBCP geretourneerde mysql-verbindingen open houdt voor aankomende verbindingsverzoeken, worden ze het slachtoffer van de Time-out MySQL-server .
DBCP heeft een aantal functies die kunnen helpen (kan worden gebruikt vanaf Tomcat 5.5 IIRC).
validationQuery="SELECT 1"
testOnBorrow="true"
De validatie zorgt ervoor dat een verbinding geldig is voordat deze wordt teruggestuurd naar een webapp die de 'lenen'-methode uitvoert. De vlag schakelt deze functie natuurlijk in.
Als de time-out (8 uur geloof ik) is verstreken en de verbinding is verbroken, dan wordt een nieuwe verbinding getest (als er geen meer is, wordt deze gemaakt) en aan de webapp verstrekt.
Andere mogelijke benaderingen:
-
gebruik de
testWhileIdle="true"
DBCP in uw broninstellingen om ook inactieve verbindingen te controleren voordat een effectief verzoek wordt gedetecteerd. -
Gebruik de 'connectionProperties' om uw MySQL-verbinding te versterken (bijv.
autoReconnect/autoReconnectForPools=true
)