Jacques Le Roux wrote:
> Jacopo Cappellato wrote:
>> Jacques,
>> 
>> please see inline:
>> 
>> On Jan 10, 2013, at 6:32 AM, [email protected] wrote:
>> 
>>> 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);
>> 
>> This is minor but it would be better to write:
>> 
>> PoolableConnectionFactory factory = new 
>> PoolableManagedConnectionFactory(xacf, pool, null, null, true, true);
> 
> OK, I can change that in trunk
> 
>>> 
>>> 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...
>> 
>> Are we sure we can backport this fix to all the release branches as you did? 
>> From the history of comments in OFBIZ-2599 I see
>> that there are some prerequisites for the version of DBCP: did you check if 
>> they are satisfied by the jars in 10.04 and 11.04?
> 
> Yes, commons-dbcp-1.4.jar is present since R10.04 (also else it would not 
> have compiled ;o)
> The change has been introduced since 1.3: 
> https://issues.apache.org/jira/browse/DBCP-294
> 
> Jacques

BTW even R09.04 would work because of 
http://svn.apache.org/viewvc?view=revision&revision=r836015
And it was my bad then to not commit the OFBiz patch (I only handled the DBCP 
side)

Jacques
 
> 
>> Regards,
>> 
>> Jacopo
>> 
>>> 
>>> 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