Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-2270

CLONE - Incorrect JNDI binding log messages being printed to the server.log file for EJB3 deployed bean with @RemoteBinding and @LocalBinding

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Minor
    • None
    • None
    • ejb3
    • None

    Description

      When an ejb is annotated with @RemoteBinding and @LocalBinding, the binding messages in the server.log is missing the Local JNDI binding value as well as incorrect remote binding information is printed.

      For the following EJB3 bean:

      @Stateless
      @RemoteBinding(jndiBinding="XXXXXRemote")
      @LocalBinding(jndiBinding="XXXXXLocal")
      public class CalculatorBean implements CalculatorLocal, CalculatorRemote {
      //some implementation code here ....
      }

      When the JNDI binding messages for it gets registered in the server.log, it prints:-

      15:55:45,877 INFO [JBossASKernel] installing bean: jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3
      15:55:45,878 INFO [JBossASKernel] with dependencies:
      15:55:45,878 INFO [JBossASKernel] and demands:
      15:55:45,878 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService
      15:55:45,878 INFO [JBossASKernel] and supplies:
      15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/remote
      15:55:45,878 INFO [JBossASKernel] jndi:XXXXXRemote
      15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/local-com.jboss.example.ejb.CalculatorLocal
      15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/local
      15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorLocal
      15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/remote-com.jboss.example.ejb.CalculatorRemote
      15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorRemote
      15:55:45,878 INFO [JBossASKernel] Added bean(jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3) to KernelDeployment of: CalculatorEJB.jar

      There are two issues with the above print message:-

      1. It does not print the "XXXXXLocal" JNDI binding.
      2. It prints the standard <ejbName>/<remote|local> messages even though @RemoteBinding and @LocalBinding annotations were presen:-
      jndi:CalculatorBean/remote
      jndi:CalculatorBean/local

      It should only print:-
      jndi:XXXXXRemote
      jndi:XXXXXLocal

      The code in reference is in org.jboss.ejb3.deployers.JBossASKernel class:-

      log.info("installing bean: " + name);
      log.info(" with dependencies:");
      for (Object obj : policy.getDependencies())
      {
      Object msgObject = obj;
      if (obj instanceof AbstractDemandMetaData)

      { msgObject = ((AbstractDemandMetaData)obj).getDemand(); }

      log.info("\t" + msgObject);
      }
      log.info(" and demands:");
      for(DemandMetaData dmd : policy.getDemands())

      { log.info("\t" + dmd.getDemand()); }

      log.info(" and supplies:");
      for(SupplyMetaData smd : policy.getSupplies())

      { log.info("\t" + smd.getSupply()); }

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rhn-support-tibrahim Taneem Ibrahim
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: