[
https://issues.apache.org/activemq/browse/AMQ-2852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62030#action_62030
]
Julien HENRY commented on AMQ-2852:
-----------------------------------
I still have this issue with ActiveMQ 5.4.1.
> Memory leak when undeploying webapp with ActiveMQ client
> --------------------------------------------------------
>
> Key: AMQ-2852
> URL: https://issues.apache.org/activemq/browse/AMQ-2852
> Project: ActiveMQ
> Issue Type: Bug
> Components: Transport
> Affects Versions: 5.3.2
> Reporter: Daniel Spilker
>
> I have a web app with an ActiveMQ client. When undeploying the app, Tomcat
> logs the following messages.
> {code}
> 28.07.2010 17:44:28 org.apache.catalina.loader.WebappClassLoader
> clearReferencesThreads
> SCHWERWIEGEND: The web application [] appears to have started a thread named
> [InactivityMonitor Async Task:
> java.util.concurrent.threadpoolexecutor$wor...@c821ef] but has failed to stop
> it. This is very likely to create a memory leak.
> 28.07.2010 17:44:28 org.apache.catalina.loader.WebappClassLoader
> clearReferencesThreads
> SCHWERWIEGEND: The web application [] appears to have started a thread named
> [TcpSocketClose: java.util.concurrent.threadpoolexecutor$wor...@19ac2e3] but
> has failed to stop it. This is very likely to create a memory leak.
> {code}
> Searching for "InactivityMonitor Async Task" and "TcpSocketClose", I found
> org.apache.activemq.transport.tcp.TcpTransport and
> org.apache.activemq.transport.InactivityMonitor which both start a
> ThreadPoolExecutor in their static intializers but never stop them. The
> ThreadPoolExecutors hold references to ActiveMQ classes which hold a
> reference to the webapp classloader. These references prevent the webapp
> classes from being unloaded when the webapp is undeployed. Due to this the
> servlet container runs out of memory after a few redeployments.
> The ActiveMQ client should dispose all resources when being closed, including
> the ThreadPoolExecutors. Or to provide some methods to explicitly stop these
> Threads (like org.apache.activemq.thread.Scheduler.shutdown() does).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.