why tomcat depends on libcommons-pool-java

Tamas Papp tompos at martos.bme.hu
Mon Apr 21 18:17:39 UTC 2014


hi All,


Why does libtomcat7-java depend on libcommons-pool-java?

I suspect this change:

Description: Make jdbc-pool module default
 Tomcat upstream ships a patched version of Commons DBCP. This is
 not shipped in the Debian packages.
 .
 It also provides an alternative, lightweight pool implementation
 which is shipped.
 .
 This patch makes this implementation the default pool.
Author: James Page <james.page at ubuntu.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/tomcat7/+bug/1071817
Forwarded: not-needed
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/

--- a/java/org/apache/naming/factory/Constants.java
+++ b/java/org/apache/naming/factory/Constants.java
@@ -49,7 +49,7 @@
         Package + ".HandlerFactory";
 
     public static final String DBCP_DATASOURCE_FACTORY =
-        "org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory";
+        "org.apache.tomcat.jdbc.pool.DataSourceFactory";
 
     public static final String OPENEJB_EJB_FACTORY =
         Package + ".OpenEjbFactory";
--- a/webapps/docs/config/systemprops.xml
+++ b/webapps/docs/config/systemprops.xml
@@ -579,7 +579,7 @@
     <property name="javax.sql.DataSource.Factory">
       <p>The class name of the factory to use to create resources of type
       <code>javax.sql.DataSource</code>. If not specified the default of
-      <code>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</code>
is used
+      <code>org.apache.tomcat.jdbc.pool.DataSourceFactory</code> is used
       which is a package renamed (to avoid conflictions) copy of
       <a href="http://commons.apache.org/dbcp">Apache Commons DBCP</a>.</p>
     </property>
--- a/webapps/docs/jndi-resources-howto.xml
+++ b/webapps/docs/jndi-resources-howto.xml
@@ -685,7 +685,7 @@ conn.close();
 
     <p>The configuration properties for Tomcat's standard data source
     resource factory
-    (<code>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</code>) are
+    (<code>org.apache.tomcat.jdbc.pool.DataSourceFactory</code>) are
     as follows:</p>
     <ul>
     <li><strong>driverClassName</strong> - Fully qualified Java class name




If so, why is this change? I don't find anything about the reason, though I can see, that other distributions do the same more or less.

Also why does it depend on libcommons-pool-java? Why is it not just
recommended or suggested?

My problem is that if our developers need a different version of
library, they need to remove the symlink from the tomcat/lib directory.
What would be the recommended official solution in cases like this?

Thanks,
tamas







More information about the Ubuntu-devel-discuss mailing list