<html>
<head>
<title>Status File for Jakarta Commons "DBCP" Package</title>
<head>
<body bgcolor="white">


<div align="center">
<h1>The Jakarta Commons <em>DBCP</em> Package</h1>
$Id: STATUS.html,v 1.5 2003/04/08 00:34:26 dgraham Exp $<br>
<a href="#Introduction">[Introduction]</a>
<a href="#Dependencies">[Dependencies]</a>
<a href="#Release Info">[Release Info]</a>
<a href="#Committers">[Committers]</a>
<a href="#Action Items">[Action Items]</a>
<br><br>
</div>


<a name="Introduction"></a>
<h3>1.  INTRODUCTION</h3>

<p>The <em>DBCP</em> package provides database connection pooling services.
The following features are supported

<ul>
<li>DataSource and Driver interfaces to the pool.</li>
<li>Support for arbitrary sources of the underlying Connections.</li>
<li>Integration with arbitrary org.apache.commons.pool.ObjectPool implementations.</li>
<li>Support for Connection validation, expiration, etc.</li>
<li>Support for PreparedStatement pooling.</li>
<li>XML configuration.</li>
</ul>

<a name="Dependencies"></a>
<h3>2.  DEPENDENCIES</h3>

<p>The <em>DBCP</em> package is dependent upon the following external
components for development and use:</p>
<ul>
<li><a href="http://java.sun.com/j2se">Java Development Kit</a>
    (Version 1.2 or later)</li>
<li><a href="http://java.sun.com/j2ee">Java 2 Enterprise Edition</a>
    (javax.sql packages only)</li>
<li>Jakarta-Commons Collections package</li>
<li>Jakarta-Commons Pool package</li>
<li>[currently, for JOCL configuration] <a href="http://www.megginson.com/SAX">Simple API for XML</a>
    (Version 2.0 or later)</li>
<li>[currently, for JOCL configuration] A SAX 2.0 compliant XML parser (Xerces, XP, etc.)</li>
<li><a href="http://www.junit.org">JUnit Testing Framework</a>
    (Version 3.2 or later) - for unit tests only, not required
    for deployment</li>
</ul>


<a name="Release Info"></a>
<h3>3.  RELEASE INFO</h3>

<p>Current Release:  <strong>Unreleased, CVS Repository Only</strong></p>

<p>Planned Next Release:  TBD</p>

<a name="Committers"></a>
<h3>4.  COMMITTERS</h3>

<p>The following individuals are the primary developers and maintainers of this
component.  Developers who plan to use the <em>DBCP</em> package in their own
projects are encouraged to collaborate on the future development of this
component to ensure that it continues to meet a variety of needs.</p>
<ul>
<li>Morgan Delagrange</li>
<li>Geir Magnusson Jr.</li>
<li>Craig R. McClanahan</li>
<li>John McNally</li>
<li>Ignacio J. Ortega</li>
<li>Rodney Waldhoff</li>
<li>David Weinrich</li>
<li>Glenn L. Nielsen</li>
<li><a href="mailto:dgraham@apache.org">David Graham</a></li>
</ul>

<a name="Action Items"></a>
<h3>5.  ACTION ITEMS</h3>

<p>The following action items need to be completed prior to a Version 1.0
release of this component:</p>

<table border="1">
  <tr>
    <th width="80%">Action Item</th>
    <th width="20%">Volunteer</th>
  </tr>

  <tr>
    <td><strong>Additional Unit/Functional Tests</strong></td>
    <td align="center">&nbsp;</td>
  </tr>

  <tr>
    <td><strong>Vendor specific testing</strong> - Unit tests defined and
    executed for popular database servers</td>
    <td align="center"> - </td>
  </tr>

  <tr>
    <td><strong>Vendor specific testing - MySQL</strong></td>
    <td align="center">&nbsp;</td>
  </tr>
  <tr>
    <td><strong>Vendor specific testing - Postgres</strong></td>
    <td align="center">&nbsp;</td>
  </tr>
  <tr>
    <td><strong>Vendor specific testing - ODBC (SQLServer/Access)</strong></td>
    <td align="center">&nbsp;</td>
  </tr>
  <tr>
    <td><strong>Vendor specific testing - Oracle</strong></td>
    <td align="center">Rodney</td>
  </tr>
  <tr>
    <td><strong>Vendor specific testing - Sybase</strong></td>
    <td align="center">&nbsp;</td>
  </tr>

  <tr>
    <td><strong>Install / Use Documentation</strong>.  Expanded examples and
    installation documentation. </td>
    <td align="center">&nbsp;</td>
  </tr>

  <tr>
    <td><strong>Integration Documentation - Avalon?</strong></td>
    <td align="center">&nbsp;</td>
  </tr>

  <tr>
    <td><strong>Integration Documentation - Struts?</strong></td>
    <td align="center">&nbsp;</td>
  </tr>

  <tr>
    <td><strong>Integration Documentation - Turbine?</strong></td>
    <td align="center">&nbsp;</td>
  </tr>

  <tr>
    <td><strong>Replace JOCL with something else?</strong></td>
    <td align="center">Rodney<br>[Craig]</td>
  </tr>

</table>

</body>
</html>
