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]