Il modo più semplice è configurare il pool di connessioni per specificare la query da eseguire per testare la connessione prima che venga passata all'applicazione:
validationQuery="select 1 as dbcp_connection_test"
testOnBorrow=true
Questa stessa query di "convalida della connessione" può essere eseguita su altri eventi. Non sono sicuro delle impostazioni predefinite per questi:
testOnReturn=true
testWhileIdle=true
Esistono anche impostazioni di configurazione che limitano l'"età" delle connessioni inattive nel pool, il che può essere utile se le connessioni inattive vengono chiuse all'estremità del server.
minEvictableIdleTimeMillis
timeBetweenEvictionRunsMillis
http://commons.apache.org/dbcp/configuration.html