3 Replies Latest reply on Oct 31, 2006 9:46 AM by rrusinkiewicz

    How to lookup for a bean

    rrusinkiewicz

      I've deployed a bean and it can be found using a jboss jndi explorer under
      under Global JNDI in

      +- ejb1 (class: org.jnp.interfaces.NamingContext)
      | +- ApptransCalculator (class: org.jnp.interfaces.NamingContext)
      | | +- localStatefulProxyFactory (class: org.jboss.ejb3.stateful.StatefulLocalProxyFactory)
      | | +- local (class: java.lang.Object)
      | | +- remote (class: java.lang.Object)
      | | +- remoteStatefulProxyFactory (proxy: $Proxy77 implements interface org.jboss.ejb3.ProxyFactory)


      In my jsp the lookup code looks as follows:

      InitialContext ctx = new InitialContext();
      cal = (ApptransCalculatorLocal) ctx.lookup(
      "java:comp/env/ejb/ApptransCalculator");

      I also tried
      cal = (ApptransCalculatorLocal) ctx.lookup(
      "ejb1/ApptransCalculator");

      and
      cal = (ApptransCalculatorLocal) ctx.lookup(
      "ejb1/ApptransCalculator/local");


      The cal is null after a lookup, what is hier wrong ?






        • 1. Re: How to lookup for a bean
          rrusinkiewicz

          Additional information:

          I'm using Session beans 3.0
          Web application and EJB's are deployed in separate ear files.

          • 2. Re: How to lookup for a bean
            rrusinkiewicz

            I adjusted my client code to the following:

            Hashtable environment = new Hashtable();

            environment.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
            environment.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
            environment.put(Context.PROVIDER_URL, "jnp://localhost:1099");
            InitialContext ctx = new InitialContext(environment);
            cal = (ApptransCalculatorLocal) ctx.lookup(
            "ejb1/ApptransCalculator/local");

            But it still returns null as cal

            • 3. Re: How to lookup for a bean
              rrusinkiewicz

              If you use 2 ear files than do not use local interface but remote