[jboss-user] [EJB/JBoss] - EJB3 Classloader leaks?

kevinmudrick do-not-reply at jboss.com
Wed May 13 14:44:25 EDT 2009


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#4230935

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4230935



More information about the jboss-user mailing list