2 Replies Latest reply on Jun 14, 2003 12:55 AM by Michael Grove

    invoker is null: jboss:service=invoker,type=jrmp

    Michael Grove Newbie

      i'm porting my application (1 servlet, 2 EJBs, 2 jca datasources) from 3.0.4 to 3.2.1. i believe i've ported my 2 datasource files to the new ds format correctly, which is to say i can successfully deploy these files. i'm having trouble deploying my EJB on jboss startup. i'm using the identical EJB configuration that i used in 3.0.4.

      the error from server.log is below. i could not find other forum posts that discussed this problem.

      thanks.

      -mike

      2003-06-12 10:39:00,950 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:module=hpovact-EJBs.jar,service=EjbModule
      2003-06-12 10:39:00,950 INFO [org.jboss.ejb.EjbModule] Starting
      2003-06-12 10:39:00,950 DEBUG [org.jboss.ejb.EjbModule] startService, starting container: ServiceBean
      2003-06-12 10:39:00,950 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:jndiName=java%3a/hpovact/ejb/ServiceBean,service=EJB
      2003-06-12 10:39:00,950 INFO [org.jboss.ejb.EntityContainer] Starting
      2003-06-12 10:39:00,970 DEBUG [org.jboss.ejb.EntityContainer] Begin java:comp/env for EJB: ServiceBean
      2003-06-12 10:39:00,970 DEBUG [org.jboss.ejb.EntityContainer] TCL: java.net.URLClassLoader@cab854
      2003-06-12 10:39:00,980 DEBUG [org.jboss.ejb.EntityContainer] Binding resource manager: java:/hpovact/jdbc/ServicesDB to JDNI ENC as: jdbc/ServicesDB
      2003-06-12 10:39:00,980 DEBUG [org.jboss.ejb.EntityContainer] End java:comp/env for EJB: ServiceBean
      2003-06-12 10:39:00,980 DEBUG [org.jboss.ejb.plugins.local.BaseLocalProxyFactory] ServiceBean cannot be Bound, doesn't have local and local home interfaces
      2003-06-12 10:39:00,990 ERROR [org.jboss.ejb.EntityContainer] Starting failed
      java.lang.RuntimeException: invoker is null: jboss:service=invoker,type=jrmp
      at org.jboss.proxy.ejb.ProxyFactory.setupInvokers(ProxyFactory.java:184)
      at org.jboss.proxy.ejb.ProxyFactory.start(ProxyFactory.java:171)
      at org.jboss.ejb.EntityContainer.startService(EntityContainer.java:332)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
      at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
      at $Proxy11.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:392)
      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy21.start(Unknown Source)
      at org.jboss.ejb.EjbModule.startService(EjbModule.java:329)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
      at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
      at $Proxy11.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:392)
      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy20.start(Unknown Source)
      at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:540)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
      at org.jboss.deployment.MainDeployer.addDeployer(MainDeployer.java:245)
      at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy19.addDeployer(Unknown Source)
      at org.jboss.deployment.SubDeployerSupport.startService(SubDeployerSupport.java:108)
      at org.jboss.ejb.EJBDeployer.startService(EJBDeployer.java:116)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
      at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
      at $Proxy11.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:392)
      at org.jboss.system.ServiceController.start(ServiceController.java:408)
      at org.jboss.system.ServiceController.start(ServiceController.java:408)
      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy5.start(Unknown Source)
      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
      at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy7.deploy(Unknown Source)
      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
      at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
      at $Proxy0.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:392)
      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy5.start(Unknown Source)
      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:597)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy6.deploy(Unknown Source)
      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:365)
      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:272)
      at org.jboss.Main.boot(Main.java:150)
      at org.jboss.Main$1.run(Main.java:388)
      at java.lang.Thread.run(Thread.java:536)

        • 1. Re: invoker is null: jboss:service=invoker,type=jrmp
          Michael Grove Newbie

          i still need help resolving this problem, but i wanted to pass on what i've learned.

          my servlet, ejbs, and resource adapter are all deployed in a single sar file. the sar contains a single jboss-service.xml file, which only contains classpath entries.

          in 3.0.4 this works fine - in 3.2.1 the ejbs won't deploy, as my first post indiciated. i've just discovered that if i move the ejbs out of the sar into the deploy directory they deploy fine. so it would appear that there's an inconsistency between how sar deployment worked in 3.0.4 and 3.2.1

          any ideas on how to fix this?

          • 2. Re: invoker is null: jboss:service=invoker,type=jrmp
            Michael Grove Newbie

            jboss support helped solve the problem. posting it here in case anyone else hits the same problem.

            the problem is the jrmp invoker service has not been started when the EJBDeployer tries to deploy my ejb. the EJBs did not have a dependency on "jboss:service=invoker,type=jrmp", although they really needed this dependency. without the necesssary dependency in place, you're somewhat at the mercy of chance for when components are deployed. with the EJB outside of the SAR it so happens that the jrmp invoker service is fully started before the EJBs are deployed. not so in the SAR.

            to fix the problem, either add a depends clause to the EJBDeployer in jboss-service.xml that specifies the jrmp invoker service (i.e. jboss:service=invoker,type=jrmp)
            , or in the EJBs jboss.xml specify that the bean(s) depend on this jrmp invoker service using the same depends clause.

            my understanding is that in a future jboss release the explicit specification of this dependency will not be required.