Build for JDK 1.6 and above.
JDK 1.6 includes JDBC 4.0 APIs, whereas JDK 1.7 includes JDBC 4.1. We therefore need to downgrade JDK 1.7 to use JDBC 4.0 in order to build successfully. Downgrading is achieved by adding jdbc-4.0-overlay.jar to the compiler's bootstrap classpath, where this jar contains hand-crafted, APL-compatible versions of the relevant JDBC 4.0 interfaces only.
Populate the LruStatementCache with PreparedStatement objects returned from the Driver, instead of with their BTM proxies. Otherwise the LruEvictionListener will be handed a proxy to close when a statement is evicted from the cache; This proxy will merely pretend to close the statement, and then leak the underlying statement delegate. Also, putting proxies in the cache means that PreparedStatement.isClosed() will be true for every reused object.
Merge branch 'cache-leak-fix' of github.com:rankinc/btm into rankinc-cache-leak-fix
Merge branch 'rankinc-cache-leak-fix'