Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-1260

Performance issue with EjbLinkDemandMetaData

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • EJB3_1 1.0.8
    • AS 5.0.0.Beta4
    • core
    • None

      We have an application with about 200 EJB3 SLSB and MDBs, 120 EJB2 entity beans and a few web apps.

      This takes about 1-2 minutes to start up with JBoss 4.2.2.GA. With 5.0.0.Beta4 this jumps to around 20-30 minutes. Some thread dumps show that it's spending most of its time here:

      "main" prio=6 tid=0x044b7430 nid=0x10b4 runnable [0x049cd000..0x049cf9f8]
      at java.lang.Throwable.fillInStackTrace(Native Method)
      at java.lang.Throwable.<init>(Throwable.java:196)
      at java.lang.Exception.<init>(Exception.java:41)
      at javax.management.JMException.<init>(JMException.java:35)
      at javax.management.OperationsException.<init>(OperationsException.java:36)
      at javax.management.MalformedObjectNameException.<init>(MalformedObjectNameException.java:35)
      at javax.management.ObjectName.construct(ObjectName.java:393)
      at javax.management.ObjectName.<init>(ObjectName.java:1304)
      at org.jboss.ejb3.dependency.EjbLinkDemandMetaData$EjbLinkDemandDependencyItem.resolve(EjbLinkDemandMetaData.java:134)
      at org.jboss.dependency.plugins.AbstractDependencyInfo.resolveDependencies(AbstractDependencyInfo.java:140)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:901)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:839)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
      at org.jboss.system.ServiceController.doChange(ServiceController.java:659)
      at org.jboss.system.ServiceController.create(ServiceController.java:393)
      at org.jboss.system.ServiceController.create(ServiceController.java:358)
      at sun.reflect.GeneratedMethodAccessor212.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:186)

      Patching EjbLinkDemandMetaData to avoid creating ObjectNames for names that are obviously invalid speed this up considerably: the startup time is then about 5 minutes, though It still seems to spend a lot of time looping in that EjbLinkDemandDependencyItem .resolve

            rhn-engineering-cdewolf Carlo de Wolf
            gcoleman_jira Guy Coleman (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: