leif        02/02/07 00:10:06

  Modified:    src/scratchpad/org/apache/avalon/excalibur/datasource
                        ResourceLimitingJdbcDataSource.java
  Log:
  Added more descriptive JavaDocs
  
  Revision  Changes    Path
  1.4       +48 -7     
jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/datasource/ResourceLimitingJdbcDataSource.java
  
  Index: ResourceLimitingJdbcDataSource.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/datasource/ResourceLimitingJdbcDataSource.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ResourceLimitingJdbcDataSource.java       26 Jan 2002 16:58:26 -0000      
1.3
  +++ ResourceLimitingJdbcDataSource.java       7 Feb 2002 08:10:06 -0000       
1.4
  @@ -21,8 +21,9 @@
   /**
    * The ResourceLimiting implementation for DataSources in Avalon.  This uses 
the
    * normal <code>java.sql.Connection</code> object and
  - * <code>java.sql.DriverManager</code>.  The Configuration is like this:
  - *
  + * <code>java.sql.DriverManager</code>.
  + * <p>
  + * Configuration Example:
    * <pre>
    *   &lt;jdbc&gt;
    *     &lt;pool-controller max="<i>10</i>" blocking="<i>true</i>"
  @@ -36,9 +37,8 @@
    *     &lt;password&gt;<i>password</i>&lt;/password&gt;
    *   &lt;/jdbc&gt;
    * </pre>
  - *
  - * With the following roles declaration:
  - *
  + * <p>
  + * Roles Example:
    * <pre>
    *   &lt;role 
name="org.apache.avalon.excalibur.datasource.DataSourceComponentSelector"
    *     shorthand="datasources"
  @@ -47,9 +47,50 @@
    *       
class="org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource"/&gt;
    *   &lt;/role&gt;
    * </pre>
  + * <p>
  + * Configuration Attributes:
  + * <ul>
  + * <li>The <code>max</code> attribute is used to set the maximum number of 
connections which
  + *  will be opened.  See the <code>blocking</code> attribute.  (Defaults to 
"3")</li>
  + *
  + * <li>The <code>blocking</code> attributes is used to specify the behavior 
of the DataSource
  + *  pool when an attempt is made to allocate more than <code>max</code> 
concurrent connections.
  + *  If true, the request will block until a connection is released, 
otherwise, a 
  + *  NoAvailableConnectionException will be thrown.  (Defaults to "true")</li>
  + *
  + * <li>The <code>timeout</code> attribute is used to specify the maximum 
amount of time in
  + *  milliseconds that a request for a connection will be allowed to block 
before a
  + *  NoAvailableConnectionException is thrown.  A value of "0" specifies that 
the block will never
  + *  timeout.  (Defaults to "0")</li>
  + *
  + * <li>The <code>trim-interval</code> attribute is used to specify how long 
idle connections will
  + *  be maintained in the pool before being closed.  For a complete 
explanation on how this works,
  + *  see [EMAIL PROTECTED] 
org.apache.avalon.excalibur.pool.ResourceLimitingPool#trim()}
  + *  (Defaults to "60000", 1 minute)</li>
  + *
  + * <li>The <code>connection-class</code> attribute is used to override the 
Connection class returned
  + *  by the DataSource from calls to getConnection().  Set this to 
  + *  "org.apache.avalon.excalibur.datasource.Jdbc3Connection" to gain access 
to JDBC3 features.
  + *  (Defaults to 
"org.apache.avalon.excalibur.datasource.JdbcConnection")</li>
  + *
  + * <li>The <code>keep-alive</code> element is used to override the query 
used to monitor the health
  + *  of connections.  If a connection has not been used for 5 seconds then 
before returning the
  + *  connection from a call to getConnection(), the connection is first used 
to ping the database
  + *  to make sure that it is still alive.  Setting the <code>disable</code> 
attribute to true will
  + *  disable this feature.  (Defaults to a query of "SELECT 1" and being 
enabled)</li>
  + *
  + * <li>The <code>driver</code> element is used to specify the driver to use 
when connecting to the
  + *  database.  The specified class must be in the classpath.  (Required)</li>
  + *
  + * <li>The <code>dburl</code> element is the JDBC connection string which 
will be used to connect to
  + *  the database.  (Required)</li>
  + *
  + * <li>The <code>user</code> and <code>password</code> attributes are used 
to specify the user and
  + *  password for connections to the database. (Required)</li>
  + * </ul>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Leif Mortenson</a>
  - * @version CVS $Revision: 1.3 $ $Date: 2002/01/26 16:58:26 $
  + * @version CVS $Revision: 1.4 $ $Date: 2002/02/07 08:10:06 $
    * @since 4.1
    */
   public class ResourceLimitingJdbcDataSource 
  @@ -134,7 +175,7 @@
           
           final int     max          = controller.getAttributeAsInteger( 
"max", 3 );
           final boolean blocking     = controller.getAttributeAsBoolean( 
"blocking", true );
  -        final long    timeout      = controller.getAttributeAsLong   ( 
"timeout", -1 );
  +        final long    timeout      = controller.getAttributeAsLong   ( 
"timeout", 0 );
           final long    trimInterval = controller.getAttributeAsLong   ( 
"trim-interval", 60000 );
           final boolean oradb        = controller.getAttributeAsBoolean( 
"oradb", false );
           
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to