You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by Jeremy Arnold <je...@bigfoot.com> on 2003/08/29 01:07:14 UTC

JDBC Connection Pool updates

Hello,
    As I've mentioned a couple times, I've been doing some work on the 
JDBC Connection Pool implementation.  I have a new implementation based 
on Jakarta-Commons-Pool which seems to work fine, but it doesn't support 
the same configuration options as the original pool implementation, so 
it will take a bit more effort to get it integrated.

    In the mean time, I've also done some work to refactor the current 
connection pooling code to seperate it from the connection manager.  
Among other things, this makes it possible to plug in different pooling 
implementations.  The refactoring isn't quite done yet -- the choice of 
pooling implementations and tuning parameters is still hard-coded.  But 
its an improvement.  I haven't decided yet if I want to expose this to 
users (letting them decide which connection pool implementation to use), 
but having the flexibility in the code should promote a cleaner design 
and make it easier to test new implementations.

    I've reimplemented the original connection pooling implementation in 
this refactored design.  It has essentially the same features and flaws 
as the original.  It does fix a couple of issues: 1) it was previously 
impossible (I think) to have two JDBCSamplers with the same URL but 
different username/password (or other settings).  This is now allowed.  
2) I've fixed a couple of code problems which might have caused funny 
run-time behavior -- I'm not sure about that, since I never saw the 
funny behavior.  But the old DBKey had some problems with 
hashCode/equals that have been fixed now...the old code could have 
resulted in some unpredictable behavior.

    I've done a bit of testing with the new code, and it appears to be 
working properly and with similar performance to JMeter 1.9.1.  But I 
don't have the hardware/software/time resources at the moment to do a 
full test to verify performance, behavior with complex test plans with 
multiple JDBC Samplers, etc.  Since we're in development-mode (on HEAD) 
I've gone ahead and committed the changes.  Please let me know if you 
encounter any problems with it.  I haven't committed the Commons-Pool 
implementation yet...perhaps next week.

Jeremy
http://xirr.com/~jeremy_a