Protože DBCP ponechává vrácená připojení mysql otevřená pro nadcházející požadavky na připojení, stanou se obětí Časový limit serveru MySQL .
DBCP má řadu funkcí, které mohou pomoci (lze použít počínaje Tomcat 5.5 IIRC).
validationQuery="SELECT 1"
testOnBorrow="true"
Ověření zajišťuje, že je připojení platné, než jej vrátíte do webové aplikace, která provádí metodu „půjčit“. Vlajka samozřejmě tuto funkci umožňuje.
Pokud vyprší časový limit (myslím, že 8 hodin) a připojení je nefunkční, otestuje se nové připojení (pokud již žádné neexistuje, vytvoří se) a poskytne webové aplikaci.
Další možné přístupy:
-
použijte
testWhileIdle="true"
DBCP v nastavení prostředků, abyste také zkontrolovali nečinná připojení, než bude detekován účinný požadavek. -
Použijte 'connectionProperties' k posílení připojení MySQL (např.
autoReconnect/autoReconnectForPools=true
)