2 Replies Latest reply on Feb 17, 2006 6:26 PM by dparrilla

    SLSB not bound to JNDI in 4.0.4RC1?

    dparrilla

      Hi all,
      I'm in the middle of the painful migration of our code from 4.0.3SP1 to 4.0.4RC1, and everything was going smoothly until I faced this very strange problem: Not all my EJB3 SLSB inside my EAR are bounded to the JNDI tree. Only one is bounded, and it is the last one in the deployment order.
      Here goes the traces of the server when deploying:

      23:11:38,683 INFO [EARDeployer] Init J2EE application: file:/C:/workspace/newco/dist/999newco.ear/
      23:11:45,823 INFO [Ejb3AnnotationHandler] found EJB3: ejbName=CandidateBean, class=com.newco.candidate.CandidateBean, type=STATELESS
      23:11:45,833 INFO [Ejb3Deployment] EJB3 deployment time took: 50
      23:11:45,903 INFO [Ejb3AnnotationHandler] found EJB3: ejbName=AuthenticationBean, class=com.newco.authentication.AuthenticationBean, type=STATELESS
      23:11:45,903 INFO [Ejb3Deployment] EJB3 deployment time took: 60
      23:11:45,943 INFO [Ejb3AnnotationHandler] found EJB3: ejbName=MailMDB, class=com.newco.core.mail.MailMDB, type=MESSAGE_DRIVEN
      23:11:45,954 INFO [Ejb3Deployment] EJB3 deployment time took: 31
      23:11:45,994 INFO [Ejb3AnnotationHandler] found EJB3: ejbName=RendererMDB, class=com.newco.core.renderer.RendererMDB, type=MESSAGE_DRIVEN
      23:11:46,014 INFO [Ejb3Deployment] EJB3 deployment time took: 40
      23:11:46,064 INFO [Ejb3AnnotationHandler] found EJB3: ejbName=SiteBean, class=com.newco.site.SiteBean, type=STATELESS
      23:11:46,064 INFO [Ejb3Deployment] EJB3 deployment time took: 20
      23:11:46,144 INFO [Ejb3AnnotationHandler] found EJB3: ejbName=SearchBean, class=com.newco.search.SearchBean, type=STATELESS
      23:11:46,144 INFO [Ejb3Deployment] EJB3 deployment time took: 60
      23:11:46,374 INFO [Ejb3Deployment] EJB3 deployment time took: 200
      23:11:46,414 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:service=EJB3,ear=999newco.ear,jar=100candidateEJB.jar,name=CandidateBean with dependencies:
      23:11:46,414 INFO [JmxKernelAbstraction] persistence.units:unitName=newcoPar
      23:11:46,414 INFO [EJB3Deployer] Deployed: file:/C:/workspace/newco/dist/999newco.ear/100candidateEJB.jar
      23:11:46,434 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:service=EJB3,ear=999newco.ear,jar=102authenticationEJB.jar,name=AuthenticationBean with dependencies:
      23:11:46,434 INFO [JmxKernelAbstraction] persistence.units:unitName=newcoPar
      23:11:46,444 INFO [EJB3Deployer] Deployed: file:/C:/workspace/newco/dist/999newco.ear/102authenticationEJB.jar
      23:11:46,464 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:service=EJB3,ear=999newco.ear,jar=103mailMDB.jar,name=MailMDB with dependencies:
      23:11:46,695 INFO [EJB3Deployer] Deployed: file:/C:/workspace/newco/dist/999newco.ear/103mailMDB.jar
      23:11:46,765 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:service=EJB3,ear=999newco.ear,jar=104rendererMDB.jar,name=RendererMDB with dependencies:
      23:11:46,945 INFO [EJB3Deployer] Deployed: file:/C:/workspace/newco/dist/999newco.ear/104rendererMDB.jar
      23:11:46,945 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:service=EJB3,ear=999newco.ear,jar=105siteEJB.jar,name=SiteBean with dependencies:
      23:11:46,945 INFO [JmxKernelAbstraction] persistence.units:unitName=newcoPar
      23:11:46,975 INFO [EJB3Deployer] Deployed: file:/C:/workspace/newco/dist/999newco.ear/105siteEJB.jar
      23:11:47,015 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:service=EJB3,ear=999newco.ear,jar=108searchEJB.jar,name=SearchBean with dependencies:
      23:11:47,315 INFO [EJB3Deployer] Deployed: file:/C:/workspace/newco/dist/999newco.ear/108searchEJB.jar
      23:11:47,315 INFO [EJB3Deployer] Deployed: file:/C:/workspace/newco/dist/999newco.ear/001PAR.par
      


      The only SLSB bounded is SearchBean, as you can read in the jmx console:

      Global JNDI Namespace
      
       +- 999newco (class: org.jnp.interfaces.NamingContext)
       | +- SearchBean (class: org.jnp.interfaces.NamingContext)
       | | +- local (proxy: $Proxy95 implements No ClassLoaders found for: com.newco.bean.ISearchLocal (no security manager: RMI class loader disabled))
       | | +- remote (proxy: $Proxy94 implements No ClassLoaders found for: com.newco.bean.ISearchRemote (no security manager: RMI class loader disabled))
       +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
       +- TopicConnectionFactory (class: org.jboss.naming.LinkRefPair)
       +- UIL2ConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
       +- UserTransactionSessionFactory (proxy: $Proxy27 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
       +- UIL2XAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
       +- QueueConnectionFactory (class: org.jboss.naming.LinkRefPair)
       +- topic (class: org.jnp.interfaces.NamingContext)
       | +- testDurableTopic (class: org.jboss.mq.SpyTopic)
       | +- testTopic (class: org.jboss.mq.SpyTopic)
       | +- securedTopic (class: org.jboss.mq.SpyTopic)
       +- queue (class: org.jnp.interfaces.NamingContext)
       | +- D (class: org.jboss.mq.SpyQueue)
       | +- mailQueue (class: org.jboss.mq.SpyQueue)
       | +- C (class: org.jboss.mq.SpyQueue)
       | +- B (class: org.jboss.mq.SpyQueue)
       | +- A (class: org.jboss.mq.SpyQueue)
       | +- testQueue (class: org.jboss.mq.SpyQueue)
       | +- rendererQueue (class: org.jboss.mq.SpyQueue)
       | +- ex (class: org.jboss.mq.SpyQueue)
       | +- DLQ (class: org.jboss.mq.SpyQueue)
       +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
       +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
       +- jmx (class: org.jnp.interfaces.NamingContext)
       | +- invoker (class: org.jnp.interfaces.NamingContext)
       | | +- RMIAdaptor (proxy: $Proxy26 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt)
       | +- rmi (class: org.jnp.interfaces.NamingContext)
       | | +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef)
       +- UILXAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
       +- UILConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
      


      I have compared my code with the Trailblazer demo, and in the demo all EJBs are inside a single .jar file, but in my application every single EJB goes inside its own .jar file. In the Trailblazer demo all EJBs are bounded properly to the JNDI tree.

      Its sounds to me like a bug in the EJB3 deployer, unable to manage more than one .jar file with EJBs.

      I have browsed JIRA, but I have not found anything about it.

      Anybody can help?
      Cheers
      Diego

        • 1. Re: SLSB not bound to JNDI in 4.0.4RC1?
          bill.burke

          are you sure your persistence.xml is correct? Do the beans that are not in JNDI inject an ENtityManager? I've had reported problems of beans not deploying correctly because they are waiting on an entity manager that hasn't been deploye dyet because the persistence.xml is not correct.

          BTW:

          SORRY FOR YOUR PAIN!

          • 2. Re: SLSB not bound to JNDI in 4.0.4RC1?
            dparrilla

            You are right: I did not update the persistence.xml. Now it is working.

            Now the migration is not painless, but we can carry on with our heavy duty...

            Thanx for the promt response.
            Diego