Here's the DBCP proposal.

The DBCP package provides a Driver and DataSource wrapper around any
ObjectPool implementation (see Commons-Pool) and arbitrary sources for
Connections, so I think it should serve most anyone's needs.

This is originally based upon a DBCP implementation we've been using in
production for quite a while now, and it has performed admirably well for us
in a top-100, database intensive site, although this specific implementation
has been changed at bit so a problem may have cropped up here or there.

As I mentioned in my earlier correspondence with Craig, I've dropped the
JOCL proposal and moved the JOCL classes into this bundle.  It looks like
Digester does everything JOCL does and more, so once Digester is available,
we can port from JOCL to Digester, and drop JOCL altogether.

 - Rod

---------------------------------------------------

Proposal for Database Connection Pool [DBCP] Package

(0) Rationale

Many Jakarta products 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 a handles any user
account issues internally. 

There are several Database Connection Pools already available, both within
Jakarta products and elsewhere. A Commons package would give committers an
opportunity to coordinate their efforts to create and maintain a efficient,
feature-rich package under the ASF license. 

(1) Scope of the Package

The package shall create and maintain a database connection pool package
written in the Java language to be distributed under the ASF license. The
package shall be available as a pseudo-JDBC driver and via a DataSource
interface. The package shall also support multiple logins to multiple
database systems, reclamation of stale or dead connections, testing for
valid connections, PreparedStatement pooling, and other features. 

(1.5) Interaction With Other Packages

DBCP relies on: 

 * Java Development Kit (Version 1.2 or later) 
 * Java 2 Enterprise Edition (javax.sql packages only) 
 * Jakarta-Commons Collections package 
 * Jakarta-Commons Pool package 
 * [currently, for JOCL configuration] Simple API for XML (Version 2.0 or
later) 
 * [currently, for JOCL configuration] A SAX 2.0 compliant XML parser
(Xerces, XP, etc.) 
 * JUnit Testing Framework (Version 3.2 or later) - for unit tests only, not
required for deployment 

External configuration of the database connection pool will be supporting
using the Digester XML configuration package. (Soon to be a proposal to
Jakarta-Commons). Currently, configuration may be accomplished using the
Java Object Configuration Language (part of the proposed code base). 

(2) Initial Source of the Package

The initial codebase was contributed by Rodney Waldhoff from a working
project and can be distributed under the Apache license. 

The proposed package name for the new component is org.apache.commons.dbcp.

(3) Required Jakarta-Commons Resources

CVS Repository - New directory dbcp in the jakarta-commons CVS repository.
All initial committers are already committers on jakarta-commons, so no
additional user setups are required. 

Mailing List - Discussions will take place on the general
[EMAIL PROTECTED] mailing list. To help list subscribers
identify messages of interest, it is suggested that the message subject of
messages about this component be prefixed with [DBCP]. 

Bugzilla - New component "DBCP" under the "Commons" product category, with
appropriate version identifiers as needed. 

Jyve FAQ - New category "commons-dbcp" (when available). 

(4) Initial Committers

Morgan Delagrange 
Geir Magnusson Jr. 
Craig R. McClanahan 
Rodney Waldhoff 
David Weinrich 

dbcp.jar

Title: Proposal for Database Connection Pool [DBCP] Package

Proposal for Database Connection Pool [DBCP] Package

(0) Rationale

Many Jakarta products 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 a handles any user account issues internally.

There are several Database Connection Pools already available, both within Jakarta products and elsewhere. A Commons package would give committers an opportunity to coordinate their efforts to create and maintain a efficient, feature-rich package under the ASF license.

(1) Scope of the Package

The package shall create and maintain a database connection pool package written in the Java language to be distributed under the ASF license. The package shall be available as a pseudo-JDBC driver and via a DataSource interface. The package shall also support multiple logins to multiple database systems, reclamation of stale or dead connections, testing for valid connections, PreparedStatement pooling, and other features.

(1.5) Interaction With Other Packages

DBCP relies on:

External configuration of the database connection pool will be supporting using the Digester XML configuration package. (Soon to be a proposal to Jakarta-Commons). Currently, configuration may be accomplished using the Java Object Configuration Language (part of the proposed code base).

(2) Initial Source of the Package

The initial codebase was contributed by Rodney Waldhoff from a working project and can be distributed under the Apache license.

The proposed package name for the new component is org.apache.commons.dbcp.

(3) Required Jakarta-Commons Resources

  • CVS Repository - New directory dbcp in the jakarta-commons CVS repository. All initial committers are already committers on jakarta-commons, so no additional user setups are required.
  • Mailing List - Discussions will take place on the general [EMAIL PROTECTED] mailing list. To help list subscribers identify messages of interest, it is suggested that the message subject of messages about this component be prefixed with [DBCP].
  • Bugzilla - New component "DBCP" under the "Commons" product category, with appropriate version identifiers as needed.
  • Jyve FAQ - New category "commons-dbcp" (when available).

(4) Initial Committers

  • Morgan Delagrange
  • Geir Magnusson Jr.
  • Craig R. McClanahan
  • Rodney Waldhoff
  • David Weinrich

Reply via email to