Forbindelsen er mislykket, muligvis på grund af en firewall idle-timeout osv. Hvis du ikke har din JDBC-driver konfigureret til at oprette forbindelse igen ved fejl, så vil denne fejl ikke forsvinde, medmindre du åbner en ny forbindelse.
Hvis du bruger en databaseforbindelsespulje (du er ved at bruge en, ikke?), så ønsker du sikkert at aktivere dens forbindelseskontrolfunktioner som at udstede en forespørgsel for at kontrollere, om forbindelsen virker, før du sender den tilbage til applikationen. I Apache commons-dbcp kaldes dette validationQuery
og er ofte sat til noget simpelt som SELECT 1
.
Da du bruger MySQL, bør du bruge en Connector/J-specifik "ping"-forespørgsel, der er lettere end faktisk at udstede en ægte SQL-forespørgsel og indstille din valideringsforespørgsel til /* ping */ SELECT 1 (ping-delen behov for at være præcis
).