0 Replies Latest reply on Apr 13, 2010 5:31 AM by erili

    Leak in JBoss AS 4.2.3 (accumulated StatelessContainer)

           We suspect that our stateless EJBs are leaking.

       

      Attaching jmx-console stats and path to GC for one of the leaking beans from a test system that has been running on small load for 12 hours.

       

      NameTypeAccessValueDescription
      Namejava.lang.StringRStatelessDelegateWrapperMBean Attribute.
      StateStringjava.lang.StringRStartedMBean Attribute.
      CreateCountintR116902MBean Attribute.
      StateintR3MBean Attribute.
      InvokeStatsorg.jboss.ejb3.statistics.InvocationStatisticsR
      MBean Attribute.
      CurrentSizeintR116898MBean Attribute.
      RemoveCountintR4MBean Attribute.
      MaxSizeintR30MBean Attribute.
      AvailableCountintR29MBean Attribute

       

      If I annotate a leaking bean to use another pooling class (as suggested by http://community.jboss.org/thread/110175) the leak seems to go away.

      @PoolClass(value=org.jboss.ejb3.StrictMaxPool.class)

       

      So my guess is that the default ThreadLocalPool retains the EJB instances and the mechanism for removing old ones is somehow misconfigured?

       

      Should I make all our beans to use StrictMaxPool instead?