tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Diego Rodríguez Martín <drodrig...@altiria.com>
Subject Re: Tomcat 6 classloader leak in Commons Pool
Date Thu, 28 Jun 2007 19:32:54 GMT
Hi,

    I have been making some more tests about this issue, using old 
dbcp/pool factory to get rid of the memory leaks of tomcat embedded 
libraries commons-pool/commons-dbcp

    When using my own factory for dbcp and commons pool (the old 
versions), I clear the resources used invoking datasource.close() in my 
servlet destroy method. With a memory profiler, I have found that the 
offending class causing the leak is 
org.apache.tomcat.util.modeler.ManagedBean. It keeps two attributes 
referencing my dbcp pool, called resource and resourceType.

    Is there a way I can access from my servlet this class 
(org.apache.tomcat.util.modeler.ManagedBean) in order to clean the 
references?
    Is there any other action to be taken to free a resource than 
calling datasource.close() that I am missing?
    Is my fault freeing the resource or its Tomcat fault?

    Thank you very much in advance for your help

       Diego


Diego Rodríguez Martín escribió:
> Hi,
>
>    I have found what you said about the factory. It is ported to 6.0. 
> I have tried to use the old commons-dbcp library, copying 
> commons-pool-1.2.jar and commons-dbcp-1.2.2.jar in tomcat lib 
> directory and defining the attribute 
> factory="org.apache.commons.dbcp.BasicDataSourceFactory" in the 
> resource in my context.xml.
>
>    It works, but I still have a memory leak. Tomcat is retaining my 
> new commons-dbcp classes, and I think it is related to this classes:
>
> org.apache.tomcat.util.modeler.BaseModelMBean,
> com.sun.jmx.mbeanserver.NamedObject,
> com.sun.jmx.mbeanserver.RepositorySupport.
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor
> com.sun.jmx.mbeanserver.JmxMBeanServer,
>
> This part of Tomcat is completely unkown to me, Do you have any clue?
>
> Many thanks for your help
>
>
>    Diego
> David Smith escribió:
>> In older versions of tomcat (5.0.x) there is a factory attribute 
>> defining the pool to use.  It's unclear from the limited look I did 
>> whether that was carried forward to 5.5 and 6.0.
>>
>> --David
>>
>> Diego Rodríguez Martín wrote:
>>> Hi,
>>>
>>>    Is there any way to fix this leak downgrading the version of 
>>> commons pool. I have a production enviroment where we have a lot of 
>>> deploy/undeploy and with this leak we have to stop/start Tomcat very 
>>> often. Is there a possibility of replacing tomcat-dbcp.jar with the 
>>> older individual jars? It will work or you have used new 
>>> functionalities of these packages?
>>>
>>>    Thanks
>>>
>>>    Diego
>>>
>>>
>>> Rémy Maucherat escribió:
>>>> On 6/8/07, Diego Rodríguez Martín <drodriguez@altiria.com> wrote:
>>>>> It affects version 1.3 of commons pool. In tomcat 6, commons pool is
>>>>> embbeded in /tomcat-dbcp.jar/, and the docs don't say with version of
>>>>> commons is inside.
>>>>
>>>> It's that version. A new commons-pool version will be integrated when
>>>> it's available.
>>>>
>>>> Rémy
>>>>
>>>> ---------------------------------------------------------------------
>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>
>>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>

-- 
-------------------------------------------------------------
Diego Rodríguez Martín (drodriguez@altiria.com)
ALTIRIA TIC - Servicios SMS - Desarrollo Web
Tel. +34 913311198 - Fax +34 913310087 - Móvil +34 610299750
www.altiria.com
-------------------------------------------------------------


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message