tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject Re: tomcat connection pool - status and future?
Date Thu, 23 Sep 2010 21:26:34 GMT
On 23/09/2010 13:26, Jason Pringle wrote:
> 
> I've recently become aware of the new-ish tomcat connection pool (http://people.apache.org/~fhanik/jdbc-pool/)
which appears to be at version 1.0.8.5 (a January 2010 release?).
> 
> Before I recommend we begin using this in a production situation, I'd like to gather
a bit of data on it.  As a bit of background, we're migrating off of Weblogic server to Tomcat
(simplification!), but one of the things we have been very happy with in Weblogic is the robust
connection pool management.  We have some environments in which we use "multipools", some
where we connect to Oracle RAC and some where we use Oracle's Fast Start Failover to transparently
(to the application) cut over to a standby database at the connection pool level in an extremely
short amount of time (compared to modifying connection descriptors and bouncing a farm of
servers).
> 
> I started by researching available connection pools for tomcat, and it seems most folks
either use DBCP (which has a host of issues) or C3PO (which has its own issues, including
that it is LGPL licensed).  The "feature page" of the tomcat connection pool (http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html)
seems quite promising, but to be honest, it concerns me that the module is only readily available
from a commiter's pages or from source.
> 
> 
> 1)      Is the tomcat community committed to this new module?  (We've been burned by
too many abandoned FOSS projects to discount this issue)

Several release attempts have failed due to a lack of interest.

That said, $work is using this as the default pool in a commercial
product based on Tomcat with minimal issues.

> 2)      When will it be available as a standard tomcat module?

No idea.

> 3)      Is it considered "released" or still in a beta stage (I found the beta announcement
from 2008)?

Unreleased.

> 4)      Although I don't see anything like multipools, are there any plans to support
something like them?  Could they be implemented within the interceptor framework?

No. Don't know.

> 5)      What are the implications for using with RAC?

If you want the features of RAC, you are better off using Oracle's
built-in connection pooling rather than an external solution.

> 6)      What are the implications for using with FSF (Fast Start Failover)?

Not supported.

> 7)      What are the implications for using within and XA environment (though we work
hard to avoid XA it's important to know of any limitations etc)?

It works with XA.

Overall, I'd suggest you take another look at DBCP. The historical
issues with deadlocks have been fixed and syncs reduced to the bare
minimum. jdbc-pool will easily beat it for performance in highly
concurrent apps running on multi-core servers but apart from that, DBCP
and jdbc-pool are pretty comparable and there are a number of areas
where DBCP does a better job of making the pooled connection look like a
normal connection. There are a few places where jdbc-pool requires extra
(user written) interceptors to do this.

The next generation of DBCP will be based on Pool 2.0 which will be
based on the Java 5 concurrency features. Current thinking is to
'borrow' code from jdbc-pool to update Commons Pool but that work has
not been started.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message