Quale pool di connessioni stai utilizzando? La maggior parte consente l'esecuzione periodica di un comando heartbeat per evitare che le connessioni si interrompano.
EDIT:guardando la pagina di configurazione DBCP
, penso che dovresti impostare un validationQuery
appropriato (economico). . Puoi quindi dire a DBCP di testarlo quando potenzialmente elimini le connessioni inattive (testWhileIdle
) o digli di testare appena prima di restituire la connessione (testOnBorrow
). Il primo (si spera!) Manterrebbe in vita le tue connessioni inattive; il secondo no, ma non ti restituirebbe connessioni interrotte (cioè se ne creerebbe una nuova se necessario).