org.mentawai.db
Class DBCPConnectionHandler

java.lang.Object
  extended by org.mentawai.db.DBCPConnectionHandler
All Implemented Interfaces:
ConnectionHandler

public class DBCPConnectionHandler
extends java.lang.Object
implements ConnectionHandler

A connection handler that uses the Commons DBCP connection pool. (http://jakarta.apache.org/commons/dbcp/) To use this class you must have the DBCP jars in your /WEB-INF/lib directory. You may access the underlying DBCP's BasicDataSource to configure the pool, before you start calling getConnection().

Author:
Sergio Oliveira

Constructor Summary
DBCPConnectionHandler(java.lang.String driver, java.lang.String url, java.lang.String user, java.lang.String pass)
          Constructs a DBCPConnectionHandler with DBCP's BasicDataSource.
 
Method Summary
 void destroy()
          Destroy the connection pool, closing and cleaning all connections.
 javax.sql.DataSource getBasicDataSource()
          Gets the underlying DBCP's BasicDataSource.
 java.sql.Connection getConnection()
          Returns a Connection to the database.
 void release(java.sql.Connection conn)
          Release this connection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DBCPConnectionHandler

public DBCPConnectionHandler(java.lang.String driver,
                             java.lang.String url,
                             java.lang.String user,
                             java.lang.String pass)
Constructs a DBCPConnectionHandler with DBCP's BasicDataSource.

Parameters:
driver - The JDBC driver class name to use.
url - The JDBC url to connect to the database.
user - The database username to use.
pass - The database password to use.
Throws:
java.lang.IllegalStateException - If the Commons DBCP jars are not in the /WEB-INF/lib directory or if the JDBC driver cannot be loaded.
Method Detail

getBasicDataSource

public javax.sql.DataSource getBasicDataSource()
Gets the underlying DBCP's BasicDataSource. You should cast this data source to DBCP's BasicDataSource.

Returns:
The BasicDataSource as a DataSource.

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Description copied from interface: ConnectionHandler
Returns a Connection to the database. Notice that it can never return null. If no connection can be acquired, then a SQLException is thrown.

Specified by:
getConnection in interface ConnectionHandler
Returns:
A connection to the database.
Throws:
java.sql.SQLException - if there were problems trying to acquire the connection.

release

public void release(java.sql.Connection conn)
Description copied from interface: ConnectionHandler
Release this connection. If this connection handler is using a database pool, the connection is returned to the pool. If this connection handler is not using a database pool, the connection is closed. If the connection passed as an argument is null, nothing is done.

Specified by:
release in interface ConnectionHandler
Parameters:
conn - The connection to release.

destroy

public void destroy()
Description copied from interface: ConnectionHandler
Destroy the connection pool, closing and cleaning all connections. This is important for restarting the web context.

Specified by:
destroy in interface ConnectionHandler


Copyright © 2005 Mentawai Team. All Rights Reserved.