Som du föreslår beror det på att mysql stänger lediga anslutningar efter varje wait_timeout
passerar; du har några alternativ för att komma runt ditt problem:
- använd en anslutningspoolhanterare, som c3p0 eller apache DBCP . Detta kommer att ta hand om förlängning av anslutningar på begäran, så småningom kan du ange vilken fråga som ska köras för att testa om anslutningen är levande.
- ställ in
wait_timeout
i mysql tillräckligt stor för ditt användningsfall (standard är 8 timmar). - konfigurera en schemalagd uppgift (till exempel med kvarts ) som uppdaterar anslutningar, "pingar" mysql-servern.