I like it, I like it...

On Wed, 28 Mar 2001, Waldhoff, Rodney wrote:

> Here's one of the proposals I was talking about in my earlier email. I
> thought we could kick it around a little bit before submitting a real
> proposal.
> 
> This package provides interfaces and a couple implementations for pooling
> arbitrary Java objects.  The intent is to follow a modular design that
> allows different object factory and object pool implementations to be
> plugged together easily.  This is of course the basis for the database
> connection pooling package, but is useful for other tasks as well.
> 
> One of the impls in this bundle relies upon the CursorableLinkedList defined
> in the proposed commons-collections package.
> 
> For the time being, the package can be found in the bundle at
> http://www.webappcabaret.com/rwald/commons/.  I'll move it into the sandbox
> when I get access.
> 
> I've listed the set of DBCP volunteers as the initial set of committers, but
> don't take that as gospel.
> 
> Comments?
> 
> - R.
> 
> ---------------------------------------------------------------------
> Proposal for Object Pool Package
> [Revision: $Id:$]
> 
> (0) Rationale
> 
> Often a Java application makes use of instances or resources that
> are expensive to create or that need to be limited due to
> external constraints.  A database or other network connections are
> leading, although certainly not the only, examples of this
> situation. A pool of instances can be helpful in these circumstances.
> 
> A Commons package for object pooling would give committers an
> opportunity to coordinate their efforts and create and maintain an
> efficient, feature-rich package under the ASF license.
> 
> (1) Scope of the Package
> 
> The package will create and maintain an object (instance) pooling
> package to be distributed under the ASF license.
> 
> The package should support a variety of pool implementations, but
> encourage support of an interface that makes these implementations
> interchangeable.
> 
> (2) The 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.
> 
> (2.1) The Base Name of the Package
> 
> org.apache.commons.pool
> 
> (3) Jakarta Commons Resources to be Created
> 
> (3.1) Mailing List
> 
> Until traffic justifies, the package will use the Jakarta-Commons
> list.
> 
> (3.2) CVS Repositories
> 
> For the time being, the package will use a root branch of the
> Jakarta-Commons CVS repository.
> 
> (3.3) Bugzilla
> 
> The package should be listed as a component under the Jakarta-Commons
> Bugzilla entry.
> 
> (3.4) Jyve FAQ (when available)
> 
> commons-pool
> 
> (4) Identify the Initial Set of Committers
> 
> [same set as the proposed dbcp package]
> 
> Morgan Delagrange
> Geir Magnusson Jr.
> Craig R. McClanahan
> Rodney Waldhoff
> David Weinrich
> ---------------------------------------------------------------------
> 

On the KeyedObjectPool interface, does the contract specify that there is
one and only one instance of the underlying object for each name, or is it
legitimate for an implementation to provide more than one if it wants to
(which would essentially imply a pool of subpools)?  Whichever way this is
decided, it should be made explicit in the Javadocs.

One thing I will want to implement myself here in the near term is a pool
implementation based on a linked list rather than a stack.  There are some
scenarios (DBCPs, pools representing "load balanced" resource access,
etc.) where you will want to spread the object usage across all of the
objects you have created, rather than concentrating on those at the top of
the stack.  Looking at the APIs, this should fit in pretty nicely.

Craig


Reply via email to