org.apache.avalon.excalibur.datasource
Class JdbcDataSource

java.lang.Object
  |
  +--org.apache.avalon.framework.logger.AbstractLogEnabled
        |
        +--org.apache.avalon.excalibur.datasource.JdbcDataSource
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, org.apache.avalon.framework.configuration.Configurable, DataSourceComponent, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.logger.Loggable, org.apache.avalon.framework.thread.ThreadSafe

public class JdbcDataSource
extends org.apache.avalon.framework.logger.AbstractLogEnabled
implements DataSourceComponent, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.logger.Loggable

The Default implementation for DataSources in Avalon. This uses the normal java.sql.Connection object and java.sql.DriverManager. The Configuration is like this:

   <jdbc>
     <pool-controller min="5" max="10" connection-class="my.overrided.ConnectionClass">
       <keep-alive disable="false">select 1</keep-alive>
     </pool-controller>
     <driver>com.database.jdbc.JdbcDriver</driver>
     <dburl>jdbc:driver://host/mydb</dburl>
     <user>username</user>
     <password>password</password>
   </jdbc>
 

Since:
4.0
Version:
CVS $Revision: 1.14 $ $Date: 2002/01/26 16:58:06 $
Author:
Berin Loritsch

Field Summary
protected  JdbcConnectionPool m_pool
           
 
Fields inherited from interface org.apache.avalon.excalibur.datasource.DataSourceComponent
ROLE
 
Constructor Summary
JdbcDataSource()
           
 
Method Summary
 void configure(org.apache.avalon.framework.configuration.Configuration configuration)
          Configure and set up DB connection.
 void dispose()
          Dispose properly of the pool
 java.sql.Connection getConnection()
          Get the database connection
 void setLogger(org.apache.log.Logger logger)
           
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_pool

protected JdbcConnectionPool m_pool
Constructor Detail

JdbcDataSource

public JdbcDataSource()
Method Detail

setLogger

public void setLogger(org.apache.log.Logger logger)
Specified by:
setLogger in interface org.apache.avalon.framework.logger.Loggable

configure

public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
               throws org.apache.avalon.framework.configuration.ConfigurationException
Configure and set up DB connection. Here we set the connection information needed to create the Connection objects. It must be called only once.
Specified by:
configure in interface org.apache.avalon.framework.configuration.Configurable
Parameters:
conf - The Configuration object needed to describe the connection.
Throws:
org.apache.avalon.framework.configuration.ConfigurationException -  

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Get the database connection
Specified by:
getConnection in interface DataSourceComponent
Following copied from interface: org.apache.avalon.excalibur.datasource.DataSourceComponent
Throws:
NoValidConnectionException - when there is no valid Connection wrapper available in the classloader.
NoAvailableConnectionException - when there are no more available Connections in the pool.

dispose

public void dispose()
Dispose properly of the pool
Specified by:
dispose in interface org.apache.avalon.framework.activity.Disposable


Copyright © 2001 Apache Jakarta Project. All Rights Reserved.