1 Reply Latest reply on Apr 9, 2004 1:43 PM by jae77

    SAR within EAR problem

    mkochco

      Hello,

      JBoss 3.2.1

      I am attempting to deploy an application which contains a SAR. The SAR contains a single MBean which references a session EJB within the application I am deploying.

      When the MBean's start() method attempts to lookup the session EJB with its global jndi name I receive a javax.naming.NameNotFoundException.

      This appears to be a deployment order problem. How do I ensure that the EJB is deployed and registered in JNDI before the MBean's start() method is called?





      Thanks for your help,
      Mark

      Here's my application.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
      
      <application>
       <display-name>WDI</display-name>
      
       <module>
       <ejb>wdi-mgmt.sar</ejb>
       </module>
      
       <module>
       <ejb>wdi.wsr</ejb>
       </module>
      
       <module>
       <ejb>wdi.jar</ejb>
       </module>
      
       <module>
       <web>
       <web-uri>wdi.war</web-uri>
       <context-root>wdi</context-root>
       </web>
       </module>
      
       <module>
       <web>
       <web-uri>wdi-test.war</web-uri>
       <context-root>wdi-test</context-root>
       </web>
       </module>
      
      </application>
      
      


      And the exception:
      11:58:41,997 ERROR [MainDeployer] could not create deployment: file:/usr/local/jboss-3.2.1/server/WDI/tmp/deploy/server/WDI/deploy/wdi.ear/49.wdi.ear-contents/wdi-mgmt.sar
      org.jboss.deployment.DeploymentException: create operation failed for package file:/usr/local/jboss-3.2.1/server/WDI/tmp/deploy/server/WDI/deploy/wdi.ear/49.wdi.ear-contents/wdi-mgmt.sar; - nested throwable: (org.jboss.deployment.DeploymentException: com.digitalglobe.wdi.services.cig.CIG not bound; - nested throwable: (javax.naming.NameNotFoundException: com.digitalglobe.wdi.services.cig.CIG not bound))
       at org.jboss.deployment.SARDeployer.create(SARDeployer.java:202)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:784)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:776)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:639)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
       at sun.reflect.GeneratedMethodAccessor28.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:458)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:211)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:190)
      Caused by: org.jboss.deployment.DeploymentException: com.digitalglobe.wdi.services.cig.CIG not bound; - nested throwable: (javax.naming.NameNotFoundException: com.digitalglobe.wdi.services.cig.CIG not bound)
       at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:143)
       at org.jboss.system.ServiceController.install(ServiceController.java:225)
       at sun.reflect.GeneratedMethodAccessor27.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.install(Unknown Source)
       at org.jboss.deployment.SARDeployer.create(SARDeployer.java:183)
       ... 16 more
      



        • 1. Re: SAR within EAR problem
          jae77

          you need to edit the sar's jboss-service.xml file and add the following element to the "root" mbean element.

          <depends>jboss.j2ee:service=EJB,jndiName=JNDI_NAME</depends>
          


          where JNDI_NAME is the jndi name for your ejb.