0 Replies Latest reply on Jun 20, 2011 1:24 PM by Eric Roth

    EntityManagerFactory not found in JNDI exception using @Startup in POJO

    Eric Roth Newbie
      I have several POJOs in my application where I would like to load read-only data on startup of the application to boost performance.  When I add the @Startup annotation to the class and the @Create annotation to a Startup() method, I get an "EntityManagerFactory not found in JNDI" exception when starting the JBoss AS 6.0.0 app server in Eclipse. 

      -----
      Here is the relevant portion of the Java class:

      @Startup
      @Name("csSystemRuleAction")
      @Scope(ScopeType.APPLICATION)
      public class CSSystemRuleAction {
        
          @In
          private EntityManager entityManager;
           
          @Create
          public void startup(){
              loadSystemRules();
          }
             
          @SuppressWarnings("unchecked")
          public void loadSystemRules() {

              systemRulesList = entityManager.createQuery(
                      "select s from Uobsysr s")
                      .getResultList();

              ...
      -----

      ...here is the entitymanager entry in persistence.xml:

               <property name="jboss.entity.manager.factory.jndi.name" value="java:/ccxEntityManagerFactory"/>

      -----

      ...here is the entitymanager entry in components.xml:

         <persistence:managed-persistence-context name="entityManager" auto-create="true"
                            persistence-unit-jndi-name="java:/ccxEntityManagerFactory"/>

      -----

      ...and here is the relevant portion of the log with the stack trace:

      13:00:29,963 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/ccx]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener: org.jboss.seam.InstantiationException: Could not instantiate Seam component: csSystemRuleAction
              at org.jboss.seam.Component.newInstance(Component.java:2170) [:2.2.1.CR3]
              at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304) [:2.2.1.CR3]
              at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278) [:2.2.1.CR3]
              at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:143) [:2.2.1.CR3]
              at org.jboss.seam.init.Initialization.init(Initialization.java:744) [:2.2.1.CR3]
              at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [:2.2.1.CR3]
              at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3369) [:6.0.0.Final]
              at org.apache.catalina.core.StandardContext.start(StandardContext.java:3828) [:6.0.0.Final]
              at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:294) [:6.0.0.Final]
              at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:146) [:6.0.0.Final]
              at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:477) [:6.0.0.Final]
              at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118) [:6.0.0.Final]
              at org.jboss.web.deployers.WebModule.start(WebModule.java:95) [:6.0.0.Final]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
              at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) [:6.0.0.GA]
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) [:6.0.0.GA]
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) [:6.0.0.GA]
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271) [:6.0.0.GA]
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670) [:6.0.0.GA]
              at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206) [:2.2.0.GA]
              at $Proxy41.start(Unknown Source)       at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:53) [:2.2.0.GA]
              at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:41) [:2.2.0.GA]
              at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:301) [:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:894) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:641) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:182) [:2.2.0.GA]
              at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:58) [:2.2.0.GA]
              at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) [:2.2.0.GA]
              at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) [:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832) [:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550) [:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1571) [:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1603) [:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1491) [:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.GA]
              at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.GA]
              at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.GA]
              at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0.Final]
              at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:143) [:0.2.2]
              at org.jboss.profileservice.dependency.ProfileDeployAction.deploy(ProfileDeployAction.java:151) [:0.2.2]
              at org.jboss.profileservice.dependency.ProfileDeployAction.installActionInternal(ProfileDeployAction.java:94) [:0.2.2]
              at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.GA]
              at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
              at org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190) [:0.2.2]
              at org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87) [:0.2.2]
              at org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215) [:0.2.2]
              at org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159) [:0.2.2]
              at org.jboss.profileservice.AbstractProfileService.activateProfile(AbstractProfileService.java:154) [:0.2.2]
              at org.jboss.system.tools.ProfileServiceToolsFacade.addURI(ProfileServiceToolsFacade.java:233) [:6.0.0.Final]
              at org.jboss.system.tools.LegacyDeploymentScannerAdapter.addURL(LegacyDeploymentScannerAdapter.java:140) [:6.0.0.Final]
              at org.jboss.system.tools.DeploymentScanner.addURL(DeploymentScanner.java:91) [:6.0.0.Final]
              at org.jboss.system.tools.DeploymentScanner.addURL(DeploymentScanner.java:83) [:6.0.0.Final]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
              at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) [:6.0.0.GA]
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) [:6.0.0.GA]
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) [:6.0.0.GA]
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271) [:6.0.0.GA]
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670) [:6.0.0.GA]
              at org.jboss.system.server.jmx.MBeanServerWrapper.invoke(MBeanServerWrapper.java:138) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
              at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) [:1.6.0_23]
              at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) [:1.6.0_23]
              at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) [:1.6.0_23]
              at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) [:1.6.0_23]
              at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) [:1.6.0_23]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
              at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) [:1.6.0_23]
              at sun.rmi.transport.Transport$1.run(Transport.java:159) [:1.6.0_23]
              at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_23]
              at sun.rmi.transport.Transport.serviceCall(Transport.java:155) [:1.6.0_23]
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) [:1.6.0_23]
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) [:1.6.0_23]
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) [:1.6.0_23]
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_23]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_23]
              at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
      Caused by: java.lang.IllegalArgumentException: EntityManagerFactory not found in JNDI : java:/ccxEntityManagerFactory
              at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManagerFactoryFromJndiOrValueBinding(ManagedPersistenceContext.java:261) [:2.2.1.CR3]
              at org.jboss.seam.persistence.ManagedPersistenceContext.initEntityManager(ManagedPersistenceContext.java:79) [:2.2.1.CR3]
              at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManager(ManagedPersistenceContext.java:108) [:2.2.1.CR3]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
              at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
              at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [:2.2.1.CR3]
              at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) [:2.2.1.CR3]
              at org.jboss.seam.Component.callComponentMethod(Component.java:2275) [:2.2.1.CR3]
              at org.jboss.seam.Component.unwrap(Component.java:2301) [:2.2.1.CR3]
              at org.jboss.seam.Component.getInstance(Component.java:2044) [:2.2.1.CR3]
              at org.jboss.seam.Component.getInstance(Component.java:1986) [:2.2.1.CR3]
              at org.jboss.seam.Component.getInstance(Component.java:1980) [:2.2.1.CR3]
              at org.jboss.seam.Component.getInstanceInAllNamespaces(Component.java:2375) [:2.2.1.CR3]
              at org.jboss.seam.Component.getValueToInject(Component.java:2327) [:2.2.1.CR3]
              at org.jboss.seam.Component.injectAttributes(Component.java:1739) [:2.2.1.CR3]
              at org.jboss.seam.Component.inject(Component.java:1557) [:2.2.1.CR3]
              at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:61) [:2.2.1.CR3]
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [:2.2.1.CR3]
              at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [:2.2.1.CR3]
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [:2.2.1.CR3]
              at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [:2.2.1.CR3]
              at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) [:2.2.1.CR3]
              at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) [:2.2.1.CR3]
              at com.ventyx.ccx.session.CSSystemRuleAction_$$_javassist_seam_1.startup(CSSystemRuleAction_$$_javassist_seam_1.java)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
              at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
              at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [:2.2.1.CR3]
              at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) [:2.2.1.CR3]
              at org.jboss.seam.Component.callComponentMethod(Component.java:2275) [:2.2.1.CR3]
              at org.jboss.seam.Component.callCreateMethod(Component.java:2198) [:2.2.1.CR3]
              at org.jboss.seam.Component.newInstance(Component.java:2158) [:2.2.1.CR3]
              ... 113 more
      Caused by: javax.naming.NameNotFoundException: ccxEntityManagerFactory not bound
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:771) [:5.0.5.Final]
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:779) [:5.0.5.Final]
              at org.jnp.server.NamingServer.getObject(NamingServer.java:785) [:5.0.5.Final]
              at org.jnp.server.NamingServer.lookup(NamingServer.java:443) [:5.0.5.Final]
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:728) [:5.0.5.Final]
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688) [:5.0.5.Final]
              at javax.naming.InitialContext.lookup(InitialContext.java:392) [:1.6.0_23]
              at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManagerFactoryFromJndiOrValueBinding(ManagedPersistenceContext.java:257) [:2.2.1.CR3]
              ... 147 more
      -----

      Any help is appreciated - thanks.