I am seeing, upon undeployment of an ear the classloader for all my EJBs staying around.
To test, I am deploying, undeploying, deploying, and undeploying again. I then dump heap,
and analyze it with the Eclipse Memory Analyzer plugin. Then I look for duplicate classes
- and for each duplicate class (all my Stateless Session beans and their interface) I seem
to have two instances of the org.jboss.mx.loading.UnifiedClassLoader3. I then follow the
path to GC root (excluding soft/weak refs).
Each interface and class then has <JNI Local> java.lang.Thread JDWP Transport
Listener: dt_socket
Also, if I call list() on JNDIView in the JMX Console, I see all the EJB implementations
listed in Global JNDI Namespace under the [now undeployed] ear. The class for each is
org.jnp.interfaces.NamingContext
Any ideas why this is so, or how I can go about eliminating it? It seems to me that
I'm going to run out of permgen after lots of redeploys if the classloaders have
strong refs to the ejbs and vice versa and cannot be unloaded.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4230935#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...