org.opensubsystems.core.persist.db.connectionpool
Class DBCPDatabaseConnectionFactoryImpl

java.lang.Object
  extended by org.opensubsystems.core.persist.db.DatabaseConnectionFactoryImpl
      extended by org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl
          extended by org.opensubsystems.core.persist.db.connectionpool.DBCPDatabaseConnectionFactoryImpl
All Implemented Interfaces:
DatabaseConnectionFactory

public class DBCPDatabaseConnectionFactoryImpl
extends PooledDatabaseConnectionFactoryImpl

Implementation of connection pool using Jakarta Commons DBCP package.

Version:
$Id: DBCPDatabaseConnectionFactoryImpl.java,v 1.7 2007/01/07 06:14:58 bastafidli Exp $
Author:
Miro Halas
Code reviewer:
Miro Halas
Code reviewed:
1.3 2005/09/24 00:23:57 jlegeny

Field Summary
 
Fields inherited from class org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl
DEFAULT_DATASOURCE_NAME, m_defaultConnectionPool, m_mpConnectionPoolCrossRef, m_mpConnectionPools, m_mpNotPooledConnections
 
Fields inherited from class org.opensubsystems.core.persist.db.DatabaseConnectionFactoryImpl
ADMIN_DATASOURCE_NAME, DATABASE_ADMIN_PASSWORD, DATABASE_ADMIN_USER, DATABASE_DRIVER, DATABASE_PASSWORD, DATABASE_URL, DATABASE_USE_ADMIN_DATAROURCE, DATABASE_USE_ADMIN_DATAROURCE_DEFAULT, DATABASE_USER, m_bUseAdminDataSource, m_iRequestedConnectionCount, m_strDatabaseAdminPassword, m_strDatabaseAdminUser, m_strDatabaseDriver, m_strDatabasePassword, m_strDatabaseURL, m_strDatabaseUser, m_strRealDatabaseDriver, m_transactionFactory, SPY_CONFIG_FILE_NAME, SPY_DRIVER_IDENTIFICATION, SPY_REALDRIVER
 
Constructor Summary
DBCPDatabaseConnectionFactoryImpl()
          Constructor for new instance using default database properties.
DBCPDatabaseConnectionFactoryImpl(DatabaseTransactionFactoryImpl transactionFactory)
          Constructor for new instance using default database properties.
DBCPDatabaseConnectionFactoryImpl(java.lang.String strDriver, java.lang.String strURL, java.lang.String strUser, java.lang.String strPassword, DatabaseTransactionFactoryImpl transactionFactory)
          Constructor for new instance using explicitely specified properties.
 
Method Summary
protected  void closeConnectionPool(org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl.ConnectionPoolDefinition connectionpool)
          Close the specified connection pool and all connections maintained to database by this connection pool.
protected  java.lang.Object createConnectionPool(java.lang.String strConnectionPoolName, java.lang.String strDriverName, java.lang.String strUrl, java.lang.String strUser, java.lang.String strPassword)
          Create new connection pool with specified parameters.
protected  java.sql.Connection getPooledConnection(org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl.ConnectionPoolDefinition connectionpool)
          Get connection for given connection pool.
protected  java.sql.Connection getPooledConnection(org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl.ConnectionPoolDefinition connectionpool, java.lang.String strUser, java.lang.String strPassword)
          Get connection using the same settings as given connection pool but get the connection under different name and password.
 
Methods inherited from class org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl
addDataSource, debug, getDefaultDataSourceName, getRequestedConnectionCount, getRequestedConnectionCount, isDataSourceDefined, requestNonTransactionalConnection, requestNonTransactionalConnection, requestNonTransactionalConnection, requestNonTransactionalConnection, returnNonTransactionalConnection, returnPooledConnection, setDefaultDataSourceName, start, stop
 
Methods inherited from class org.opensubsystems.core.persist.db.DatabaseConnectionFactoryImpl
getDatabaseAdminPassword, getDatabaseAdminUser, getDatabaseDriver, getDatabasePassword, getDatabaseURL, getDatabaseUser, getInstance, getRealDatabaseDriver, getTotalRequestedConnectionCount, getUseAdminDataSource, initializeConnection, initializeDriver, loadDefaultDatabaseProperties, requestConnection, requestConnection, requestConnection, requestConnection, returnConnection, setDatabaseAdminPassword, setDatabaseAdminUser, setDatabaseDriver, setDatabasePassword, setDatabaseURL, setDatabaseUser, setInstance, setTransactionFactory, setUseAdminDataSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DBCPDatabaseConnectionFactoryImpl

public DBCPDatabaseConnectionFactoryImpl()
                                  throws OSSConfigException,
                                         OSSDatabaseAccessException
Constructor for new instance using default database properties.

Throws:
OSSConfigException - - if there was an error accessing default database properties
OSSDatabaseAccessException - - problem accessing the database

DBCPDatabaseConnectionFactoryImpl

public DBCPDatabaseConnectionFactoryImpl(DatabaseTransactionFactoryImpl transactionFactory)
                                  throws OSSConfigException,
                                         OSSDatabaseAccessException
Constructor for new instance using default database properties.

Parameters:
transactionFactory - - transaction factory to use for this connection factory, can be null
Throws:
OSSConfigException - - if there was an error accessing default database properties
OSSDatabaseAccessException - - problem accessing the database

DBCPDatabaseConnectionFactoryImpl

public DBCPDatabaseConnectionFactoryImpl(java.lang.String strDriver,
                                         java.lang.String strURL,
                                         java.lang.String strUser,
                                         java.lang.String strPassword,
                                         DatabaseTransactionFactoryImpl transactionFactory)
                                  throws OSSConfigException,
                                         OSSDatabaseAccessException
Constructor for new instance using explicitely specified properties.

Parameters:
strDriver - - JDBC driver to connect to the database
strURL - - URL of database to connect to
strUser - - user name to connect to the database
strPassword - - password to the database
transactionFactory - - transaction factory to use for this connection factory, can be null
Throws:
OSSConfigException - - problem accessing or locating the config file.
OSSDatabaseAccessException - - problem accessing the database
Method Detail

getPooledConnection

protected java.sql.Connection getPooledConnection(org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl.ConnectionPoolDefinition connectionpool)
                                           throws OSSDatabaseAccessException
Get connection for given connection pool.

Specified by:
getPooledConnection in class PooledDatabaseConnectionFactoryImpl
Parameters:
connectionpool - - connection pool to get connection for
Returns:
Connection - this can be null if connection is not available
Throws:
OSSDatabaseAccessException - - an error getting connection

getPooledConnection

protected java.sql.Connection getPooledConnection(org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl.ConnectionPoolDefinition connectionpool,
                                                  java.lang.String strUser,
                                                  java.lang.String strPassword)
                                           throws OSSDatabaseAccessException
Get connection using the same settings as given connection pool but get the connection under different name and password.

Specified by:
getPooledConnection in class PooledDatabaseConnectionFactoryImpl
Parameters:
connectionpool - - connection pool defining settings to get connection for
strUser - - user name to get the connection for
strPassword - - password to get the connection for
Returns:
Connection - this can be null if connection is not available
Throws:
OSSDatabaseAccessException - - an error getting connection

createConnectionPool

protected java.lang.Object createConnectionPool(java.lang.String strConnectionPoolName,
                                                java.lang.String strDriverName,
                                                java.lang.String strUrl,
                                                java.lang.String strUser,
                                                java.lang.String strPassword)
                                         throws OSSException
Create new connection pool with specified parameters.

Specified by:
createConnectionPool in class PooledDatabaseConnectionFactoryImpl
Parameters:
strConnectionPoolName - - connection pool name
strDriverName - - name of the JDBC driver
strUrl - - url by which data source connects to the database
strUser - - user name to connects to the database
strPassword - - password to connects to the database
Returns:
Object - connection pool
Throws:
OSSException - - an error has occured during creation of connection pool

closeConnectionPool

protected void closeConnectionPool(org.opensubsystems.core.persist.db.connectionpool.PooledDatabaseConnectionFactoryImpl.ConnectionPoolDefinition connectionpool)
                            throws OSSException
Close the specified connection pool and all connections maintained to database by this connection pool.

Specified by:
closeConnectionPool in class PooledDatabaseConnectionFactoryImpl
Parameters:
connectionpool - - connection pool to close.
Throws:
OSSException - - an error has occured during closing of the connection pool


Copyright © 2003 - 2006 OpenSubsystems s.r.o.