<?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
  -->
<document>

 <properties>
  <title>Overview</title>
  <author email="dev@commons.apache.org">Commons Documentation Team</author>
 </properties>

 <body>

<section name="The DBCP Component">

<p>Many Apache projects support interaction with a relational database.
Creating a new connection for each user can be time consuming (often
requiring multiple seconds of clock time), in order to perform a database
transaction that might take milliseconds.  Opening a connection per user
can be unfeasible in a publicly-hosted Internet application where the
number of simultaneous users can be very large.  Accordingly, developers
often wish to share a "pool" of open connections between all of the
application's current users.  The number of users actually performing
a request at any given time is usually a very small percentage of the
total number of active users, and during request processing is the only
time that a database connection is required.  The application itself logs
into the DBMS, and handles any user account issues internally.</p>

<p>There are several Database Connection Pools already available, both
within Apache products and elsewhere.  This Commons package provides an
opportunity to coordinate the efforts required to create and maintain an
efficient, feature-rich package under the ASF license.</p>

<p>The <code>commons-dbcp2</code> package relies on code in the
<code>commons-pool2</code> package to provide the underlying object pool
mechanisms that it utilizes.</p>

<p>DBCP now comes in three different versions to support different versions of
JDBC. Here is how it works:
<ul>
<li>DBCP 2 compiles and runs under Java 7 only (JDBC 4.1)</li>
<li>DBCP 1.4 compiles and runs under Java 6 only (JDBC 4)</li>
<li>DBCP 1.3 compiles and runs under Java 1.4-5 only (JDBC 3)</li>
</ul>
</p>
<p>DBCP 2 binaries should be used by applications running under Java 7.</p>
<p>DBCP 1.4 binaries should be used by applications running under Java 6.</p>
<p>DBCP 1.3 should be used when running under Java 1.4 5.</p>

<p>DBCP 2 is based on Commons Pool 2 and provides increased performance, JMX
support as well as numerous other new features compared to DBCP 1.x. Users
upgrading to 2.x should be aware that the Java package name has changed, as well
as the Maven co-ordinates, since DBCP 2.x is not binary compatible with DBCP
1.x. Users should also be aware that some configuration options (e.g. maxActive
to maxTotal) have been renamed to align them with the new names used by Commons
Pool 2.</p>

<p>There is no difference in the codebase supporting DBCP 1.4.x and 1.3.x other
than that the code implementing methods added to support JDBC 4 has been
filtered out of the DBCP 1.3 sources.</p>

</section>

<section name="Releases">
    <p>
       See the <a href="download_dbcp.cgi">downloads</a> page for information on
       obtaining releases.
    </p>
</section>

<section name="Documentation">

<p>The 
<a href="apidocs/index.html">Javadoc API documents</a> 
are available online.  In particular, you should
read the package overview of the 
<code><a href="apidocs/org/apache/commons/dbcp2/package-summary.html#package_description">org.apache.commons.dbcp2</a></code>
package for an overview of how to use DBCP.</p>

<p>There are 
<a href="https://git-wip-us.apache.org/repos/asf?p=commons-dbcp.git;a=tree;f=doc;hb=refs/heads/master">several examples</a> 
of using DBCP available.</p>

</section>

</body>
</document>
