sql >> Database >  >> RDS >> Mysql

Spring-app verliest verbinding met MySql na 8 uur. Hoe correct configureren?

Het korte antwoord is dat het genoeg zou moeten zijn. DBCP ondersteunt het testen van de verbinding bij lenen van de verbindingspool (de standaard), maar ondersteunt ook testen bij terugkomst en testen tijdens inactiviteit.

Het is ook de moeite waard om te begrijpen wat hier mis kan gaan. Het klinkt alsof iets tussen uw Tomcat-server en de database de inactieve verbinding verbreekt na een time-out (zoals een router of firewall). Het probleem hiermee is dat Tomcat denkt dat het nog steeds een geldige verbinding heeft, probeert wat werk met de verbinding te doen en faalt, maar de verbinding levend houdt en terugstuurt naar de pool. Nu zal elke verdere poging om met de database te praten mislukken als deze dezelfde verbroken verbinding van de pool krijgt.

Ik denk dat het Michael Nygards uitstekende 'Release It!' was. boek dat dit scenario beschreef in een van zijn verhalen uit de loopgraven.

U zult ook willen onderzoeken hoe MySQL dode verbindingen opruimt, want wanneer Tomcat de verbinding na 8 uur verliest, zal de database ook niet op de hoogte zijn van de mislukte verbinding.

Een laatste punt, als je Tomcat 7 gebruikt, schakel over naar hun nieuwe verbinding zwembad omdat het betere prestaties biedt dan DBCP.



  1. Oracle Database Client stap voor stap installeren

  2. Hoe onbewerkte SQL op te schonen in Rails 4

  3. MySQL-vriendentabel

  4. Hoe het tegenovergestelde van BETWEEN te gebruiken in een MySQL-query?