6 Replies Latest reply on Sep 8, 2009 9:08 AM by Tarek Hammoud

    Excessive ClassLoading when calling an EJB

    Tarek Hammoud Novice

      Hello,

      We are using AS5.1 with JDK1.6. The following stack trace shows up whenever we dump the server stack.

       at java.lang.Class.forName(Class.java:247)
       at org.jboss.classloader.plugins.loader.ClassLoaderToLoaderAdapter.loadClass(ClassLoaderToLoaderAdapter.java:172)
       at org.jboss.classloader.spi.ClassLoaderDomain.loadClassFromParent(ClassLoaderDomain.java:352)
       at org.jboss.classloader.spi.ClassLoaderDomain.loadClassBefore(ClassLoaderDomain.java:307)
       at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:251)
       at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1119)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:798)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)
       - locked org.jboss.classloader.spi.base.BaseClassLoader@a842913
       at java.lang.ClassLoader.loadClass(ClassLoader.java:300)
       - locked org.jboss.ejb3.common.classloader.PrimitiveAwareClassLoader@3d6e45ee
       at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
       at org.jboss.ejb3.common.lang.SerializableMethod.getClassFromName(SerializableMethod.java:307)
       at org.jboss.ejb3.common.lang.SerializableMethod.toMethod(SerializableMethod.java:239)
       at org.jboss.ejb3.session.SessionSpecContainer.isHomeMethod(SessionSpecContainer.java:461)
       at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:153)
       at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:216)
       at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)
       at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)
       at $Proxy743.findInstrument(Unknown Source)
       at com.enfusion.fas.providers.instrument.InstrumentDataSource.getFinancialInstrument(InstrumentDataSource.java:281)
      
      



      We are using the same cached EJB reference. This method is called many times in a real time environment. Is there a reason why this is happening? This was no issue with 4.x. Thanks for any pointers.