Ho avuto problemi simili con MySQL e un pool di connessioni. Il problema è che dici al pool di connessioni che un timeout di inattività è di 30 minuti, ma il database interrompe la connessione dopo 10 secondi. Poiché il periodo di controllo della connessione inattiva è di 120 secondi, rimangono poco meno di 110 secondi affinché il pool utilizzi una connessione interrotta!
Userei le seguenti impostazioni per la produzione:
MySQL:
wait_timeout=75
C3P0:
maxIdleTime=60
idleConnectionTestPeriod=55