FYI - they are still cleaning the bugs out of v2, so we need to monitor the Commons ml closely.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 7/23/2014 7:26 PM, [email protected] wrote:
Author: jacopoc
Date: Wed Jul 23 18:26:33 2014
New Revision: 1612909

URL: http://svn.apache.org/r1612909
Log:
Upgrade to Commons DBCP 2; this new version is designed for Java 7 (JDBC 4.1).
Commons DBCP 2 relies on Commons Pool 2 and this commits upgrades that jar too.

Added:
     ofbiz/trunk/framework/base/lib/commons/commons-pool2-2.2.jar   (with props)
     ofbiz/trunk/framework/entity/lib/commons-dbcp2-2.0.1.jar   (with props)
Removed:
     ofbiz/trunk/framework/base/lib/commons/commons-pool-1.5.7.jar
     ofbiz/trunk/framework/entity/lib/commons-dbcp-1.4.jar
Modified:
     ofbiz/trunk/.classpath
     ofbiz/trunk/LICENSE
     
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java
     
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DebugManagedDataSource.java

Modified: ofbiz/trunk/.classpath
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1612909&r1=1612908&r2=1612909&view=diff
==============================================================================
--- ofbiz/trunk/.classpath (original)
+++ ofbiz/trunk/.classpath Wed Jul 23 18:26:33 2014
@@ -73,7 +73,7 @@
      <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-logging-1.1.2.jar"/>
      <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-modeler-2.0.1.jar"/>
      <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-net-3.1.jar"/>
-    <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-pool-1.5.7.jar"/>
+    <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-pool2-2.2.jar"/>
      <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-primitives-1.0.jar"/>
      <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-validator-1.4.0.jar"/>
      <classpathentry kind="lib" 
path="framework/base/lib/commons/commons-csv-1.0.jar"/>
@@ -110,7 +110,7 @@
      <classpathentry kind="lib" 
path="framework/catalina/lib/tomcat-7.0.54-tomcat-util.jar"/>
      <classpathentry kind="lib" 
path="framework/catalina/lib/tomcat-extras-7.0.54-tomcat-juli.jar"/>
      <classpathentry kind="lib" 
path="framework/catalina/lib/tomcat-extras-7.0.54-tomcat-juli-adapters.jar"/>
-    <classpathentry kind="lib" 
path="framework/entity/lib/commons-dbcp-1.4.jar"/>
+    <classpathentry kind="lib" 
path="framework/entity/lib/commons-dbcp2-2.0.1.jar"/>
      <classpathentry kind="lib" 
path="framework/geronimo/lib/geronimo-connector-3.1.1.jar"/>
      <classpathentry kind="lib" 
path="framework/geronimo/lib/geronimo-transaction-3.1.1.jar"/>
      <classpathentry kind="lib" 
path="specialpurpose/jetty/lib/com.sun.el-2.2.0.v201108011116.jar"/>

Modified: ofbiz/trunk/LICENSE
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/LICENSE?rev=1612909&r1=1612908&r2=1612909&view=diff
==============================================================================
--- ofbiz/trunk/LICENSE (original)
+++ ofbiz/trunk/LICENSE Wed Jul 23 18:26:33 2014
@@ -54,7 +54,7 @@ framework/base/lib/commons/commons-lang-
  framework/base/lib/commons/commons-logging-1.1.2.jar
  framework/base/lib/commons/commons-modeler-2.0.1.jar
  framework/base/lib/commons/commons-net-3.1.jar
-framework/base/lib/commons/commons-pool-1.5.7.jar
+framework/base/lib/commons/commons-pool2-2.2.jar
  framework/base/lib/commons/commons-primitives-1.0.jar
  framework/base/lib/commons/commons-validator-1.4.0.jar
  framework/base/lib/j2eespecs/geronimo-activation_1.0.2_spec-1.0.jar
@@ -84,7 +84,7 @@ framework/catalina/lib/tomcat-7.0.54-tom
  framework/catalina/lib/tomcat-7.0.54-tomcat-util.jar
  framework/catalina/lib/tomcat-extras-7.0.54-tomcat-juli.jar
  framework/catalina/lib/tomcat-extras-7.0.54-tomcat-juli-adapters.jar
-framework/entity/lib/commons-dbcp-1.4.jar
+framework/entity/lib/commons-dbcp2-2.0.1.jar
  framework/entity/lib/jdbc/derby-10.10.1.1.jar
  framework/entity/lib/jdbc/derbytools-10.8.2.2.jar
  framework/service/lib/axiom-api-1.2.9.jar

Added: ofbiz/trunk/framework/base/lib/commons/commons-pool2-2.2.jar
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/lib/commons/commons-pool2-2.2.jar?rev=1612909&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ofbiz/trunk/framework/base/lib/commons/commons-pool2-2.2.jar
------------------------------------------------------------------------------
     svn:mime-type = application/octet-stream

Added: ofbiz/trunk/framework/entity/lib/commons-dbcp2-2.0.1.jar
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/lib/commons-dbcp2-2.0.1.jar?rev=1612909&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ofbiz/trunk/framework/entity/lib/commons-dbcp2-2.0.1.jar
------------------------------------------------------------------------------
     svn:mime-type = application/octet-stream

Modified: 
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java?rev=1612909&r1=1612908&r2=1612909&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java
 (original)
+++ 
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java
 Wed Jul 23 18:26:33 2014
@@ -28,14 +28,15 @@ import java.util.concurrent.ConcurrentHa

  import javax.transaction.TransactionManager;

-import org.apache.commons.dbcp.ConnectionFactory;
-import org.apache.commons.dbcp.DriverConnectionFactory;
-import org.apache.commons.dbcp.PoolableConnectionFactory;
-import org.apache.commons.dbcp.managed.LocalXAConnectionFactory;
-import org.apache.commons.dbcp.managed.ManagedDataSource;
-import org.apache.commons.dbcp.managed.PoolableManagedConnectionFactory;
-import org.apache.commons.dbcp.managed.XAConnectionFactory;
-import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.commons.dbcp2.ConnectionFactory;
+import org.apache.commons.dbcp2.DriverConnectionFactory;
+import org.apache.commons.dbcp2.PoolableConnectionFactory;
+import org.apache.commons.dbcp2.managed.LocalXAConnectionFactory;
+import org.apache.commons.dbcp2.managed.ManagedDataSource;
+import org.apache.commons.dbcp2.managed.PoolableManagedConnectionFactory;
+import org.apache.commons.dbcp2.managed.XAConnectionFactory;
+import org.apache.commons.pool2.impl.GenericObjectPool;
+import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
  import org.ofbiz.base.util.Debug;
  import org.ofbiz.entity.GenericEntityConfException;
  import org.ofbiz.entity.GenericEntityException;
@@ -103,20 +104,10 @@ public class DBCPConnectionFactory imple
          // wrap it with a LocalXAConnectionFactory
          XAConnectionFactory xacf = new LocalXAConnectionFactory(txMgr, cf);

-        // configure the pool settings
-        GenericObjectPool pool = new GenericObjectPool();
-
-        pool.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
-        pool.setMaxActive(maxSize);
-        pool.setMaxIdle(maxIdle);
-        pool.setMinIdle(minSize);
-        pool.setMaxWait(120000);
-
          // create the pool object factory
-        PoolableConnectionFactory factory = new 
PoolableManagedConnectionFactory(xacf, pool, null, null, true, true);
+        PoolableConnectionFactory factory = new 
PoolableManagedConnectionFactory(xacf, null);
          factory.setValidationQuery("select 1 from entity_key_store where key_name 
= ''");
          factory.setDefaultReadOnly(false);
-
          String transIso = jdbcElement.getIsolationLevel();
          if (!transIso.isEmpty()) {
              if ("Serializable".equals(transIso)) {
@@ -131,7 +122,15 @@ public class DBCPConnectionFactory imple
                  
factory.setDefaultTransactionIsolation(Connection.TRANSACTION_NONE);
              }
          }
-        pool.setFactory(factory);
+
+        // configure the pool settings
+        GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
+        poolConfig.setMaxWaitMillis(120000);
+        poolConfig.setMaxTotal(maxSize);
+        poolConfig.setMaxIdle(maxIdle);
+        poolConfig.setMinIdle(minSize);
+        
poolConfig.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
+        GenericObjectPool pool = new GenericObjectPool(factory, poolConfig);

          // mds = new ManagedDataSource(pool, xacf.getTransactionRegistry());
          mds = new DebugManagedDataSource(pool, 
xacf.getTransactionRegistry()); // Useful to debug the usage of connections in 
the pool

Modified: 
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DebugManagedDataSource.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DebugManagedDataSource.java?rev=1612909&r1=1612908&r2=1612909&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DebugManagedDataSource.java
 (original)
+++ 
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DebugManagedDataSource.java
 Wed Jul 23 18:26:33 2014
@@ -19,11 +19,11 @@

  package org.ofbiz.entity.connection;

-import org.apache.commons.dbcp.managed.ManagedDataSource;
-import org.apache.commons.dbcp.managed.TransactionRegistry;
-import org.apache.commons.pool.ObjectPool;
+import org.apache.commons.dbcp2.managed.ManagedDataSource;
+import org.apache.commons.dbcp2.managed.TransactionRegistry;
+import org.apache.commons.pool2.ObjectPool;

-import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.commons.pool2.impl.GenericObjectPool;
  import org.ofbiz.base.util.Debug;

  import java.sql.Connection;
@@ -35,9 +35,6 @@ public class DebugManagedDataSource exte

      public static final String module = 
DebugManagedDataSource.class.getName();

-    public DebugManagedDataSource() {
-        super();
-    }
      public DebugManagedDataSource(ObjectPool pool, TransactionRegistry 
transactionRegistry) {
          super(pool, transactionRegistry);
      }
@@ -45,11 +42,11 @@ public class DebugManagedDataSource exte
      @Override
      public Connection getConnection() throws SQLException {
          if (Debug.verboseOn()) {
-            if (super._pool instanceof GenericObjectPool) {
-                GenericObjectPool objectPool = (GenericObjectPool)super._pool;
-                Debug.logVerbose("Borrowing a connection from the pool; used/total: " + objectPool.getNumActive() + 
"/" + objectPool.getNumActive() + objectPool.getNumIdle() + "; min idle/max idle/max total: " + 
objectPool.getMinIdle() + "/" + objectPool.getMaxIdle() + "/" + objectPool.getMaxActive(), module);
+            if (super.getPool() instanceof GenericObjectPool) {
+                GenericObjectPool objectPool = 
(GenericObjectPool)super.getPool();
+                Debug.logVerbose("Borrowing a connection from the pool; used/total: " + objectPool.getNumActive() + 
"/" + objectPool.getNumActive() + objectPool.getNumIdle() + "; min idle/max idle/max total: " + 
objectPool.getMinIdle() + "/" + objectPool.getMaxIdle() + "/" + objectPool.getMaxTotal(), module);
              } else {
-                Debug.logVerbose("Borrowing a connection from the pool; used/total: " + 
super._pool.getNumActive() + "/" + (super._pool.getNumActive() + 
super._pool.getNumIdle()), module);
+                Debug.logVerbose("Borrowing a connection from the pool; used/total: " + 
super.getPool().getNumActive() + "/" + (super.getPool().getNumActive() + 
super.getPool().getNumIdle()), module);
              }
          }
          return super.getConnection();
@@ -57,14 +54,14 @@ public class DebugManagedDataSource exte

      public Map<String, Object> getInfo() {
          Map<String, Object> dataSourceInfo = new HashMap<String, Object>();
-        dataSourceInfo.put("poolNumActive", super._pool.getNumActive());
-        dataSourceInfo.put("poolNumIdle", super._pool.getNumIdle());
-        dataSourceInfo.put("poolNumTotal", (super._pool.getNumIdle() + 
super._pool.getNumActive()));
-        if (super._pool instanceof GenericObjectPool) {
-            GenericObjectPool objectPool = (GenericObjectPool)super._pool;
-            dataSourceInfo.put("poolMaxActive", objectPool.getMaxActive());
+        dataSourceInfo.put("poolNumActive", super.getPool().getNumActive());
+        dataSourceInfo.put("poolNumIdle", super.getPool().getNumIdle());
+        dataSourceInfo.put("poolNumTotal", (super.getPool().getNumIdle() + 
super.getPool().getNumActive()));
+        if (super.getPool() instanceof GenericObjectPool) {
+            GenericObjectPool objectPool = (GenericObjectPool)super.getPool();
+            dataSourceInfo.put("poolMaxActive", objectPool.getMaxTotal());
              dataSourceInfo.put("poolMaxIdle", objectPool.getMaxIdle());
-            dataSourceInfo.put("poolMaxWait", objectPool.getMaxWait());
+            dataSourceInfo.put("poolMaxWait", objectPool.getMaxWaitMillis());
              dataSourceInfo.put("poolMinEvictableIdleTimeMillis", 
objectPool.getMinEvictableIdleTimeMillis());
              dataSourceInfo.put("poolMinIdle", objectPool.getMinIdle());
          }


Reply via email to