Hai problemi con troppe connessioni che portano all'impossibilità di stabilire nuove connessioni. La soluzione è abbastanza semplice:devi configurare il pool di connessioni (c3p0 è abbastanza popolare) e specificare le connessioni del pool.
Vedi Come configurare la connessione c3p0
e inoltre non dimenticare di includere la dipendenza