org.mentawai.db
Class C3P0ConnectionHandler

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

public class C3P0ConnectionHandler
extends java.lang.Object
implements ConnectionHandler

A connection handler that uses the C3P0 connection pool. (http://sourceforge.net/projects/c3p0) To use this class you must have the C3P0 jar in your /WEB-INF/lib directory. You may access the underlying C3P0's ComboPooledDataSource to configure the pool, before you start calling getConnection().

Author:
Sergio Oliveira

Constructor Summary
C3P0ConnectionHandler(java.lang.String driver, java.lang.String url, java.lang.String user, java.lang.String pass)
          Constructs a C3P0ConnectionHandler with C3P0's ComboPooledDataSource.
 
Method Summary
 void destroy()
          Destroy the connection pool, closing and cleaning all connections.
 javax.sql.DataSource getComboPooledDataSource()
          Gets the underlying C3P0's ComboPooledDataSource.
 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

C3P0ConnectionHandler

public C3P0ConnectionHandler(java.lang.String driver,
                             java.lang.String url,
                             java.lang.String user,
                             java.lang.String pass)
Constructs a C3P0ConnectionHandler with C3P0's ComboPooledDataSource.

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 C3P0 jar is not in the /WEB-INF/lib directory or if the JDBC driver cannot be loaded.
Method Detail

getComboPooledDataSource

public javax.sql.DataSource getComboPooledDataSource()
Gets the underlying C3P0's ComboPooledDataSource.

Returns:
The ComboPooledDataSource

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.