Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-46

EJB Deployment uses wrong ejb-local-ref for ejb-link

XMLWordPrintable

      This is a really strange problem. Everything works great as long as I do not change the log4j settings. If I add the following line:

      <category name="org.jboss">
      <priority value="TRACE" class="org.jboss.logging.XLevel"/>
      </category>

      Some ejb-links cannot be resolved and are replaced by others.

      This is correct:
      java:comp namespace of the PublishingBean bean:

      +- HandleDelegate (class: org.jboss.proxy.ejb.handle.HandleDelegateImpl)
      +- ORB (class: org.jacorb.orb.ORB)
      +- env (class: org.jnp.interfaces.NamingContext)

      +- jmx (class: org.jnp.interfaces.NamingContext)
        +- ResourceFactory (class: java.lang.String)
        +- ServerAgentId (class: java.lang.String)
        +- PublishTypeFactory (class: java.lang.String)
      +- jdbc (class: org.jnp.interfaces.NamingContext)
        +- HibernateFactory[link -> java:ftisoft/hibernate/Core] (class: javax.naming.LinkRef)
      +- ejb (class: org.jnp.interfaces.NamingContext)
        +- destination (class: org.jnp.interfaces.NamingContext)
          +- email[link -> ejb/local/destination/email] (class: javax.naming.LinkRef)
        +- template (class: org.jnp.interfaces.NamingContext)
          +- fti-template[link -> ejb/local/template/ftitemplate] (class: javax.naming.LinkRef)
        +- translation (class: org.jnp.interfaces.NamingContext)
          +- xslt[link -> ejb/local/translation/xslt] (class: javax.naming.LinkRef)
      +- translation (class: org.jnp.interfaces.NamingContext)
        +- xml-text (class: java.lang.String)
        +- xml-binary (class: java.lang.String)

      This happens when I turn on trace:

      +- HandleDelegate (class: org.jboss.proxy.ejb.handle.HandleDelegateImpl)
      +- ORB (class: org.jacorb.orb.ORB)
      +- env (class: org.jnp.interfaces.NamingContext)

      +- jmx (class: org.jnp.interfaces.NamingContext)
        +- ResourceFactory (class: java.lang.String)
        +- ServerAgentId (class: java.lang.String)
        +- PublishTypeFactory (class: java.lang.String)
      +- jdbc (class: org.jnp.interfaces.NamingContext)
        +- HibernateFactory[link -> java:ftisoft/hibernate/Core] (class: javax.naming.LinkRef)
      +- ejb (class: org.jnp.interfaces.NamingContext)
        +- destination (class: org.jnp.interfaces.NamingContext)
          +- email[link -> ejb/local/LogWriterBean ] (class: javax.naming.LinkRef)
        +- template (class: org.jnp.interfaces.NamingContext)
          +- fti-template[link -> ejb/local/LogWriterBean ] (class: javax.naming.LinkRef)
        +- translation (class: org.jnp.interfaces.NamingContext)
          +- xslt[link -> ejb/local/LogWriterBean ] (class: javax.naming.LinkRef)
      +- translation (class: org.jnp.interfaces.NamingContext)
        +- xml-text (class: java.lang.String)
        +- xml-binary (class: java.lang.String)

      Additionally I see the following Warnings during deployment:
      11:39:56,060 WARN [EjbUtil] LocalHome jndi name requested for: 'QueueProxy' but there is no LocalHome class
      11:39:56,060 WARN [EjbUtil] LocalHome jndi name requested for: 'TransactionWriterBean' but there is no LocalHome class
      11:39:56,060 WARN [EjbUtil] LocalHome jndi name requested for: 'TPSProxy' but there is no LocalHome class
      11:39:56,060 WARN [EjbUtil] LocalHome jndi name requested for: 'PublishProxy' but there is no LocalHome class
      11:39:56,069 WARN [EjbUtil] LocalHome jndi name requested for: 'QueueProxy' but there is no LocalHome class
      11:39:56,069 WARN [EjbUtil] LocalHome jndi name requested for: 'TransactionWriterBean' but there is no LocalHome class
      11:39:56,069 WARN [EjbUtil] LocalHome jndi name requested for: 'TPSProxy' but there is no LocalHome class
      11:39:56,069 WARN [EjbUtil] LocalHome jndi name requested for: 'PublishProxy' but there is no LocalHome class
      11:39:56,077 WARN [EjbUtil] LocalHome jndi name requested for: 'QueueProxy' but there is no LocalHome class
      11:39:56,077 WARN [EjbUtil] LocalHome jndi name requested for: 'TransactionWriterBean' but there is no LocalHome class
      11:39:56,078 WARN [EjbUtil] LocalHome jndi name requested for: 'TPSProxy' but there is no LocalHome class
      11:39:56,078 WARN [EjbUtil] LocalHome jndi name requested for: 'PublishProxy' but there is no LocalHome class

      These are all MDB's so that is of course no home interface.

      I also see the following in the server.log

      004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] Resolving absolute link, di: org.jboss.deployment.DeploymentInfo@6e24014a

      { url= file:/export/home/mkopp/Server/jboss-4.0.1RC1/server/default/tmp/deploy/tmp18608ftisoft.app.ear-contents/ftisoft.core-ejb.jar }

      deployer: org.jboss.ejb.EJBDeployer@f20434
      status: Deployed
      state: STARTED
      watch: file:/export/home/mkopp/Server/jboss-4.0.1RC1/server/default/tmp/deploy/tmp18608ftisoft.app.ear-contents/ftisoft.core-ejb.jar
      altDD: null
      lastDeployed: 1102415974788
      lastModified: 1102415968000
      mbeans:
      jboss.j2ee:jndiName=ejb/MessagePumpBean,service=EJB state: Started
      jboss.j2ee:jndiName=ejb/FileProcessorBean,service=EJB state: Started
      jboss.j2ee:jndiName=ejb/StreetLampBean,service=EJB state: Started
      jboss.j2ee:jndiName=ejb/FileRestartBean,service=EJB state: Started
      jboss.j2ee:jndiName=ejb/local/QueueKeyStreamerBean,service=EJB state: Started
      jboss.j2ee:jndiName=ejb/local/TopicKeyStreamerBean,service=EJB state: Started
      jboss.j2ee:jndiName=ejb/TransactionProcessorBean,service=EJB state: Started
      jboss.j2ee:jndiName=local/QueueProxy,service=EJB state: Started
      jboss.j2ee:jndiName=local/TransactionWriterBean,service=EJB state: Started
      jboss.j2ee:jndiName=local/TPSProxy,service=EJB state: Started
      jboss.j2ee:jndiName=local/PublishProxy,service=EJB state: Started
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] No match for ejb-link: EMailDestination
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/MessagePumpBean
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/FileProcessorBean
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/StreetLampBean
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/FileRestartBean
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/QueueKeyStreamerBean
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/TopicKeyStreamerBean
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/TransactionProcessorBean
      2004-12-07 11:39:56,060 WARN [org.jboss.ejb.EjbUtil] LocalHome jndi name requested for: 'QueueProxy' but there is no LocalHome class
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: null
      2004-12-07 11:39:56,060 WARN [org.jboss.ejb.EjbUtil] LocalHome jndi name requested for: 'TransactionWriterBean' but there is no LocalHome class
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: null
      2004-12-07 11:39:56,060 WARN [org.jboss.ejb.EjbUtil] LocalHome jndi name requested for: 'TPSProxy' but there is no LocalHome class
      2004-12-07 11:39:56,060 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: null
      2004-12-07 11:39:56,060 WARN [org.jboss.ejb.EjbUtil] LocalHome jndi name requested for: 'PublishProxy' but there is no LocalHome class
      2004-12-07 11:39:56,061 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: null
      2004-12-07 11:39:56,061 TRACE [org.jboss.mx.interceptor.ModelMBeanAttributeInterceptor] Getting objectName=jboss.j2ee:jndiName=ejb/LogWriterBean,service=EJB attr=
      StateString
      2004-12-07 11:39:56,061 TRACE [org.jboss.mx.interceptor.ModelMBeanAttributeInterceptor] Removing any cached value objectName=jboss.j2ee:jndiName=ejb/LogWriterBean
      ,service=EJB attr=StateString descriptor=getMethod=getStateString, currencyTimeLimit=-1, descriptorType=attribute, name=StateString, displayName=StateString
      2004-12-07 11:39:56,061 TRACE [org.jboss.mx.interceptor.ModelMBeanAttributeInterceptor] Get attribute objectName=jboss.j2ee:jndiName=ejb/LogWriterBean,service=EJB
      attr=StateString getMethod=getStateString
      2004-12-07 11:39:56,061 TRACE [org.jboss.mx.interceptor.ModelMBeanAttributeInterceptor] Got attribute objectName=jboss.j2ee:jndiName=ejb/LogWriterBean,service=EJB
      attr=StateString value=Started
      2004-12-07 11:39:56,061 TRACE [org.jboss.ejb.EjbUtil] Resolving absolute link, di: org.jboss.deployment.DeploymentInfo@2678613

      { url=file:/export/home/mkopp/Serve r/jboss-4.0.1RC1/server/default/tmp/deploy/tmp18608ftisoft.app.ear-contents/ftisoft.process.manager-ejb.jar }

      deployer: org.jboss.ejb.EJBDeployer@f20434
      status: Deployed
      state: STARTED
      watch: file:/export/home/mkopp/Server/jboss-4.0.1RC1/server/default/tmp/deploy/tmp18608ftisoft.app.ear-contents/ftisoft.process.manager-ejb.jar
      altDD: null
      lastDeployed: 1102415975415
      lastModified: 1102415969000
      mbeans:
      jboss.j2ee:jndiName=ejb/LogWriterBean,service=EJB state: Started

      2004-12-07 11:39:56,061 TRACE [org.jboss.ejb.EjbUtil] No match for ejb-link: EMailDestination
      2004-12-07 11:39:56,061 TRACE [org.jboss.ejb.EjbUtil] ... Has ejbName: ejb/local/LogWriterBean

      The one strange thing to see is that the EJB that references the link is in ftisoft.publishing.jar, but the di says ftisoft.core.

      One further thing to mention.

      There is an MDB inside the ftisoft.core that references the PublishingBean via
      <message-driven>
      <ejb-name>PublishProxy</ejb-name>
      <destination-jndi-name>topic/BEOUT</destination-jndi-name>
      <ejb-local-ref >
      <ejb-ref-name>ejb/BusinessBean</ejb-ref-name>
      <local-jndi-name>ejb/local/PublishingBean</local-jndi-name>
      </ejb-local-ref>
      </message-driven>

      And core seems to get deployed before publish. Could this be an order problem? But why does it work without the trace?

              starksm64 Scott Stark (Inactive)
              greydeath_jira Michael Kopp (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: