Anslutningen har misslyckats, möjligen på grund av en brandvägg i vilotid, etc. Om du inte har din JDBC-drivrutin konfigurerad för att återansluta vid fel, kommer detta fel inte att försvinna om du inte öppnar en ny anslutning.
Om du använder en databasanslutningspool (du är använder du en, eller hur?), då vill du förmodligen aktivera dess anslutningskontrollfunktioner som att skicka en fråga för att kontrollera om anslutningen fungerar innan du lämnar tillbaka den till applikationen. I Apache commons-dbcp kallas detta för validationQuery
och är ofta inställd på något enkelt som SELECT 1
.
Eftersom du använder MySQL bör du använda en Connector/J-specifik "ping"-fråga som är lättare än att faktiskt utfärda en äkta SQL-fråga och ställa in din valideringsfråga till /* ping */ SELECT 1 (ping-delen behöver för att vara exakt
).