Proxool acts as a proxy. That is, when you ask it to do something it delegates that task to another JDBC driver
(you can use whatever driver you like). This has an important benefit: you can switch from any JDBC driver to Proxool
by simply making a few configuration changes. The standard life cycle of asking the DriverManager for a Connection
and then closing that Connection when you have finished with it remains unchanged.
connection = DriverManager.getConnection(url);
When the ProxoolDriver gives you a Connection it actually gives you a ProxyConnection instead. The ProxyConnection
does everything that a Connection does except that when you call the close() method it doesn't really close. Instead,
it puts itself back into the pool.