glassfish
  1. glassfish
  2. GLASSFISH-20738

No jndi entries, remote ejb not working

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.1.2.2
    • Fix Version/s: None
    • Component/s: orb
    • Labels:
      None
    • Environment:

      CentOS 6.4, Java 1.6.0_45 64bit

      Description

      I have application with remote session beans I'd like to access remotely from another Glassfish instance (on another host).

      I can see JNDI names of these beans after deploy (in server.log).

      Executing list-jndi-entries command gives:

      ejb.MySessionRemote: javax.naming.Reference
      ejb: com.sun.enterprise.naming.impl.TransientContext
      jdbc: com.sun.enterprise.naming.impl.TransientContext
      java:global: com.sun.enterprise.naming.impl.TransientContext
      ejb.MessageEntityFacadeRemote__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
      ejb.MySessionRemote#ejb.MySessionRemote: javax.naming.Reference
      ejb.MessageEntityFacadeRemote: javax.naming.Reference
      ejb.MySessionRemote__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
      UserTransaction: com.sun.enterprise.transaction.TransactionNamingProxy$UserTransactionProxy
      jms: com.sun.enterprise.naming.impl.TransientContext
      ejb.beans.TestBeanRemote__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
      ejb.MessageEntityFacadeRemote#ejb.MessageEntityFacadeRemote: javax.naming.Reference
      com.sun.enterprise.container.common.spi.util.InjectionManager: com.sun.enterprise.container.common.impl.util.InjectionManagerImpl
      ejb.beans.TestBeanRemote: javax.naming.Reference
      ejb.beans.TestBeanRemote#ejb.beans.TestBeanRemote: javax.naming.Reference

      So far looks good, but when I try to access one of these beans using:
      corbaname:iiop:<hostname>:3700#<jndi-name>
      I get not found exceptions. For debugging process I've created servlet that will access that remote Glassfish and list bounds inside its context using code like that:

      InitialContext ic = new InitialContext();
      NamingEnumeration<NameClassPair> ne = ic.list("corbaname:iiop:<hostname>:3700");

      after that I print out ne elements, and here's what I get:

      SerialContextProvidercom.sun.enterprise.naming.impl._SerialContextProvider_DynamicStub
      INITIAL_GIScom.sun.corba.ee.impl.folb.InitialGroupInfoService$_InitialGIS_DynamicStub

      I've deployed the same app on Glassfish 3.1.2(build 23) on another host.

      list-jndi-entries output:

      ejb.MySessionRemote: javax.naming.Reference
      ejb: com.sun.enterprise.naming.impl.TransientContext
      jdbc: com.sun.enterprise.naming.impl.TransientContext
      java:global: com.sun.enterprise.naming.impl.TransientContext
      ejb.MessageEntityFacadeRemote__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
      ejb.MySessionRemote#ejb.MySessionRemote: javax.naming.Reference
      ejb.MessageEntityFacadeRemote: javax.naming.Reference
      ejb.MySessionRemote__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
      UserTransaction: com.sun.enterprise.transaction.TransactionNamingProxy$UserTransactionProxy
      jms: com.sun.enterprise.naming.impl.TransientContext
      ejb.beans.TestBeanRemote__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
      ejb.MessageEntityFacadeRemote#ejb.MessageEntityFacadeRemote: javax.naming.Reference
      com.sun.enterprise.container.common.spi.util.InjectionManager: com.sun.enterprise.container.common.impl.util.InjectionManagerImpl
      ejb.beans.TestBeanRemote: javax.naming.Reference
      ejb.beans.TestBeanRemote#ejb.beans.TestBeanRemote: javax.naming.Reference

      Using my servlet gave me this:

      SerialContextProvidercom.sun.enterprise.naming.impl._SerialContextProvider_DynamicStub
      java:globalcom.sun.jndi.cosnaming.CNCtx
      INITIAL_GIScom.sun.corba.ee.impl.folb.InitialGroupInfoService$_InitialGIS_DynamicStub
      ejb.beans\.TestBeanRemote__3_x_Internal_RemoteBusinessHome__com.sun.ejb.codegen._GenericEJBHome_Generated_DynamicStub
      ejb.MySessionRemote__3_x_Internal_RemoteBusinessHome__com.sun.ejb.codegen._GenericEJBHome_Generated_DynamicStub
      ejb.MessageEntityFacadeRemote__3_x_Internal_RemoteBusinessHome__com.sun.ejb.codegen._GenericEJBHome_Generated_DynamicStub

      On that Glassfish (3.1.2) I can remotely access every bean, using portable on non-portable name.

      Ahhh, I almost forget. My app from which I access these beans is deployed on my local PC (Glassfish 3.1.2.2). There are no firewalls blocking connections to any of these two dev hosts. Glassfish 3.1.2.2 is current I think. Downloaded today from official site. Update tool shows no updates available.

      Thanks,
      Marcin

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Harshad Vilekar
            Reporter:
            marcing
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: