Som du foreslår, er det fordi mysql lukker inaktive forbindelser efter hver wait_timeout
passerer; du har nogle muligheder for at omgå dit problem:
- brug en forbindelsespuljemanager, såsom c3p0 eller apache DBCP . Dette vil tage sig af genvalidering af forbindelser på anmodning, til sidst kan du angive, hvilken forespørgsel der skal køres for at teste, om forbindelsen er i live.
- indstil
wait_timeout
i mysql, der er stor nok til din brug (standard er 8 timer). - opsæt en planlagt opgave (f.eks. ved hjælp af quartz ), der opdaterer forbindelser, "pinger" mysql-serveren.