Jag antar att problemet uppstår eftersom databasservern dödar anslutningen medan applikationsanslutningspoolen fortfarande har ett handtag på den. Genom att ha en timeout på applikationsanslutningspoolen kortare än på databasserversidan, förnyas anslutningen av applikationsanslutningspoolen innan den dödas av databasservern, vilket undviker problemet. Min MySQL-databasserver har en timeout-väntetid på 28800 sekunder och min applikationsanslutningspool C3P0 har en timeout-väntetid på 14400 sekunder. Det är logiskt att kedjan av timeoutväntningar måste bli kortare från servrar till klienter.