https://issues.apache.org/bugzilla/show_bug.cgi?id=46038

           Summary: Tomcat JDBC Connection Pool contribution
           Product: Tomcat 6
           Version: 6.0.18
          Platform: All
               URL: http://svn.hanik.com/svn/repos/filip/dbcp
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Catalina
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: [EMAIL PROTECTED]
                CC: [EMAIL PROTECTED]


Attached is a contribution of an alternate connection pool to Tomcat.
It includes documentation as well.

I would suggest this connection pool would
a) replace the default connection pool in tomcat-trunk
b) ship as an alternate connection pool in tomcat-6.0.x

Reasons for contribution:
The reasons for this new implementation are documented in jdbc-pool.xml

Main reasons are:
a) JDK independent. you wont get a NoSuchMethodException running the pool with
the new java.sql.* apis in JDK 1.7 even though the it is compiled with 1.5

b) support for highly concurrent environment (performance). On average it is
between 2 to 10 times faster than commons-dbcp

c) simplicity - the core pool is 8 classes to maintain, compared to 60+ with
other implementations

d) flexibility - can easily be extended, also has a pluggable interceptor
framework that lets you plug in custom components to control pool behavior.

e) Maintainable - part of Tomcat core, so simple that anyone can maintain it.
Easier to maintain 8 classes, than have to rewrite 60+ to get another pool to
perform and provide same feature set.

Build from source
svn co --username yjp --password yjp123
http://svn.hanik.com/svn/repos/filip/dbcp
cd dbcp/build
ant


Performance numbers
[EMAIL PROTECTED] 08:38:36: /development/filip/dbcp/build$ JAVA5
[EMAIL PROTECTED] 08:38:36: /development/filip/dbcp/build$ ant run
Buildfile: build.xml

run:
     [java] JUnit version 4.3.1
     [java] .[testDBCPThreads10Connections10]Test complete:9057 ms.
Iterations:1000000
     [java] .[testPoolThreads10Connections10]Test complete:2015 ms.
Iterations:1000000
     [java] .[testDBCPThreads20Connections10]Test complete:15332 ms.
Iterations:2000000
     [java] .[testPoolThreads20Connections10]Test complete:4463 ms.
Iterations:2000000
     [java] .[testDBCPThreads10Connections10Validate]Test complete:19765 ms.
Iterations:1000000
     [java] .[testPoolThreads10Connections10Validate]Test complete:2049 ms.
Iterations:1000000
     [java] .[testDBCPThreads20Connections10Validate]Test complete:43135 ms.
Iterations:2000000
     [java] .[testPoolThreads20Connections10Validate]Test complete:4639 ms.
Iterations:2000000
     [java]
     [java] Time: 101.495
     [java]
     [java] OK (8 tests)
     [java]

BUILD SUCCESSFUL
Total time: 1 minute 41 seconds
[EMAIL PROTECTED] 08:40:22: /development/filip/dbcp/build$ JAVA6
[EMAIL PROTECTED] 08:40:28: /development/filip/dbcp/build$ ant run
Buildfile: build.xml

run:
     [java] JUnit version 4.3.1
     [java] .[testDBCPThreads10Connections10]Test complete:2400 ms.
Iterations:1000000
     [java] .[testPoolThreads10Connections10]Test complete:1919 ms.
Iterations:1000000
     [java] .[testDBCPThreads20Connections10]Test complete:5570 ms.
Iterations:2000000
     [java] .[testPoolThreads20Connections10]Test complete:4109 ms.
Iterations:2000000
     [java] .[testDBCPThreads10Connections10Validate]Test complete:15986 ms.
Iterations:1000000
     [java] .[testPoolThreads10Connections10Validate]Test complete:2025 ms.
Iterations:1000000
     [java] .[testDBCPThreads20Connections10Validate]Test complete:38999 ms.
Iterations:2000000
     [java] .[testPoolThreads20Connections10Validate]Test complete:4336 ms.
Iterations:2000000
     [java]
     [java] Time: 76.391
     [java]
     [java] OK (8 tests)
     [java]

BUILD SUCCESSFUL
Total time: 1 minute 16 seconds
[EMAIL PROTECTED] 08:41:46: /development/filip/dbcp/build$


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to