Author: jleroux
Date: Thu Jan 10 05:32:48 2013
New Revision: 1431191

URL: http://svn.apache.org/viewvc?rev=1431191&view=rev
Log:
In "Memory leak due to transaction management using DBCP and MySQL" 
https://issues.apache.org/jira/browse/OFBIZ-5122 Jose Manuel Vivó Arnal 
reported that I missed to apply the patch from OFBIZ-2599, just handled the 
DBPC part, and Philippe Mouawad did not notice.

OK, so it was just a matter of replacing 
PoolableConnectionFactory factory = new PoolableConnectionFactory(xacf, pool, 
null, null, true, true);
by
PoolableManagedConnectionFactory factory = new 
PoolableManagedConnectionFactory(xacf, pool, null, null, true, true);

The rest are only imports cleaning.

Too bad we did not notice that for 3.5 years. It seems it does not affect 
servers with plenty of memory, or updated often enough. But I recommend to 
upgrade of course...

Modified:
    
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java

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=1431191&r1=1431190&r2=1431191&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
 Thu Jan 10 05:32:48 2013
@@ -18,11 +18,22 @@
  
*******************************************************************************/
 package org.ofbiz.entity.connection;
 
+import java.sql.Connection;
+import java.sql.Driver;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.transaction.TransactionManager;
+
+import javolution.util.FastMap;
+
 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.ofbiz.base.util.Debug;
@@ -32,16 +43,6 @@ import org.ofbiz.entity.datasource.Gener
 import org.ofbiz.entity.transaction.TransactionFactory;
 import org.w3c.dom.Element;
 
-import javax.transaction.TransactionManager;
-import java.sql.Connection;
-import java.sql.Driver;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import javolution.util.FastMap;
-
 /**
  * DBCPConnectionFactory
  */
@@ -146,7 +147,7 @@ public class DBCPConnectionFactory imple
 
 
             // create the pool object factory
-            PoolableConnectionFactory factory = new 
PoolableConnectionFactory(xacf, pool, null, null, true, true);
+            PoolableManagedConnectionFactory factory = new 
PoolableManagedConnectionFactory(xacf, pool, null, null, true, true);
             factory.setValidationQuery("select 1 from entity_key_store where 
key_name = ''");
             factory.setDefaultReadOnly(false);
 


Reply via email to