Detta kan bero på att det på db-servern finns en timeout för att inte tillåta anslutningar att leva efter en viss tid, eller att dö om den inte tar emot något som säger att det fortfarande är giltigt. Ett sätt att fixa detta är att slå på Keepalives. Dessa plingar i princip db-servern och säger att de fortfarande är giltiga anslutningar.
Detta är en ganska bra länk på Tomcats DBCP-konfigurationer. Ta en titt på avsnittet "Förhindra dB-anslutningspoolläckor". Det verkar som att det kan vara ett bra ställe att börja.