sql >> Database teknologi >  >> RDS >> Mysql

Spring-app mister forbindelsen til MySql efter 8 timer. Hvordan konfigureres korrekt?

Det korte svar er, at det burde være nok. DBCP understøtter test af forbindelsen ved lån fra forbindelsespuljen (standard), men understøtter også test ved returnering og test, mens den er inaktiv.

Det er også værd at forstå, hvad der kan gå galt her. Det lyder som om noget mellem din Tomcat-server og databasen afbryder den inaktive forbindelse efter en timeout (såsom en router eller firewall). Problemet med dette er, at Tomcat tror, ​​at den stadig har en gyldig forbindelse, forsøger at arbejde med forbindelsen og fejler, men holder forbindelsen i live og returnerer den til poolen. Nu vil ethvert yderligere forsøg på at tale med databasen mislykkes, hvis den får den samme afbrudte forbindelse fra poolen.

Jeg synes, det var Michael Nygards fremragende 'Release It!' bog, der beskrev dette scenarie i en af ​​hans historier fra skyttegravene.

Du vil også gerne undersøge, hvordan MySQL rydder op i døde forbindelser, som når Tomcat mister forbindelsen efter 8 timer, vil DB også være uvidende om den mislykkede forbindelse.

Et sidste punkt, hvis du bruger Tomcat 7, skift til deres nye forbindelse pool da det giver bedre ydeevne end DBCP.



  1. Hvad er markør i oracle

  2. Brug af MariaDB med Entity Framework

  3. Er SQLFiddle brudt? Fejl for Oracle, SQL Server, ...?

  4. Tilføjelse af databaseresultater til array