[
https://issues.jboss.org/browse/JGRP-1410?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1410:
--------------------------------
Which references does the global thread group have ? When all channels are closed, all
JGroups threads are terminated, and there shouldn't be any need to destroy the global
thread group.
Does your workaround imply that someone creates a new global thread group ?
Should there be a global thread group per classloader ? So when an app is undeployed, its
classloader would get removed too, and can be GC'ed ?
globalThreadGroup not destroyed creates a classloader memory leak
-----------------------------------------------------------------
Key: JGRP-1410
URL:
https://issues.jboss.org/browse/JGRP-1410
Project: JGroups
Issue Type: Bug
Affects Versions: 3.0.1
Environment: linux w/ java 1.6
Reporter: Jean-Philippe Gariepy
Assignee: Bela Ban
Fix For: 3.1
When all channels are closed, the globalThreadGroup is not destroyed. For a normal (i.e.
non-web) application, this is not a problem since the process will exit anyway. However,
for a Java Enterprise web application, this causes a classloader memory leak since the
ThreadGroup object has strong references to JGroups instances having strong references to
their class object having strong reference to their class loader. Since the class loader
is pointed by strong references, the it cannot be garbage collected and hence a leak is
created each time the web application is stopped.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira