Pool Database Connections
A sure way to bog down any JDBC application is to repeatedly open and close database connections. This problem is especially troublesome for high-volume applications such as web sites and enterprise applications. The clear and obvious answer to this problem is connection pooling. Connection pooling allows your application to use preexisting database connections by “loaning out” from a pool of connection objects.
Before JDBC 2.0, you had to write your own connection pooling support or look for a third-party tool. Put succinctly, connection pooling was a coding problem. Thanks to JDBC 2.0, however, connection pooling is now just a configuration issue. This means you simply have to convert your data source to a pooled data source; the code to access data from the connection remains the same, regardless of whether you use connection pooling. However, even though connection pooling is becoming more commonplace in JDBC code, it should still be included as a JDBC best practice.
How you configure your application to use a pooled connection depends
on the environment in which you are running it. First, you must use a
DataSource that supports connection pooling, which
typically means obtaining an object that implements the
javax.sql.ConnectionPoolDataSource
interface. Your application then grabs its pooled connections from this data source. The only part that varies from one environment to the next is how to configure the environment to use a particular data source. ...