Switch to using JDBC's builtin connection pool
It turns out that in order to use maxAge we need to use a different connection pool implementation that also has a few different other parameters: we need to set minIdle=0 initialSize=0 to avoid long term idle connections, and numTestsPerEvictionRun is not supported.