I have a situation where a change in the database would require reset of the entire connection pool and retry of the operation. The flushing of the operation is done manually through a MBeanServerConnection server command. The problem is when I retry the operation, I do get a new connection from the pool but the CallableStatement from that prepareCall is the same (and failed with a "connection closed" on usage) so apparently it is coming from some cache. I've tried setting the connection pool prepared-statement-cache-size to 0 but it doesn't help. I'd hate to go down to vendor-specific-jdbc on the connection/statement so is there any way around this (connection pool reset, prepared statement cache cleared)?