Oracle’s Connection Cache

Recall that in Chapter 4 we talked about a cached pool of connections used by servlets. When a servlet needed a connection, it drew one from the pool. The servlet did its work, and when it was done, it returned the connection back to the pool. The benefit of using cached connections is that a servlet does not need to go through the resource-intensive task of opening a new database connection each time the servlet is invoked. Also in Chapter 4, I showed a rudimentary connection caching tool. Rudimentary as it was, it still required a fair bit of rather complex code to implement. As part of the JDBC 2.0 Extension API, Oracle provides a ready-made connection cache interface along with a sample implementation. Instead of wasting your precious time doing something that has already been done for you, you can use Oracle’s connection cache immediately and in turn concentrate on the business problem at hand.

At the heart of Oracle’s connection caching framework is the connection pool data source. It’s important you understand what that is and how it works before getting into the details of the connection cache framework itself.

ConnectionPoolDataSources

A ConnectionPoolDataSource is a DataSource that can be pooled. Instead of returning a Connection object as a DataSource object does, a ConnectionPoolDataSource returns a PooledConnection object. A PooledConnection object itself holds a physical database connection that is pooled. In turn, a PooledConnection returns ...

Get Java Programming with Oracle JDBC now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.