Del seguimiento de la pila que proporcionó, puedo sacar una sola conclusión:simplemente se está quedando sin conexiones.
Esto puede deberse a transacciones de ejecución prolongada, posiblemente debido a consultas lentas o límites de transacciones de aplicaciones inadecuados.
Te sugiero que comiences a usar FlexyPool , que es compatible con Tomcat DBCP y obtiene una mejor comprensión tanto de la conexión como del uso de transacciones. FlexyPool proporciona muchos histogramas que podría interesarle, como el tiempo de adquisición de la conexión y el tiempo de arrendamiento.
Y, solo para estar seguro, verifique también la versión del controlador MySQL y vea si está ejecutando una biblioteca desactualizada.