Esto indica que algo tiene fugas en las conexiones. Es decir. algo sigue adquiriendo (abriendo) conexiones sin siquiera cerrarlas y/o volver al grupo de conexiones. Reiniciar la base de datos para que pueda cerrar todas las conexiones abiertas debería solucionar el problema temporalmente. Arreglando algo para que cierre correctamente la conexión después de su uso debería solucionar el problema de forma permanente.
Aunque el código JDBC publicado no sigue el idioma óptimo, no parece ser la causa de las fugas de conexiones. Probablemente, la base de datos ya se está ejecutando durante horas/días y durante las pruebas anteriores adquirió demasiadas conexiones sin cerrarlas, por lo que la base de datos se está quedando sin ellas.