I am trying to implement connection pooling using ConnectionPoolDatasource in a simple java application. I am following these steps -
1) Create a PoolManager class with method to getConnection(). This class implements ConnectionEventListener 2) Create instance of ConnectionPoolDataSource (actually the implementation class provided by vendor)
3) Use getPooledConnection() calls on connectionpooldatasource to get ready with 10 pooled connections in a List
4) register PoolManager as connectionEventlistener to all these pooled connections
5) on Call to PoolManager.getConnection(), take one readymade pooledConnection from list and call getConnection() to obtain connection handle and return
6) In listener method for connectionClosed() get the event source (which is the corresonding PooledConnection) and add it back to list of available pooled connection
This seems to work. But I am not sure whether this is the right way to implement.
Please guide me on this.