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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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




--
-------------------------------------------------------------
Diego Rodríguez Martín ([EMAIL PROTECTED])
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to