JBoss Community

Re: EJB 3.1 Global JNDI names

created by Luis Fernando Planella Gonzalez in JNDI and Naming - View the full discussion

Sure. Here it is:

The main class which looks up the remote interface

public class RemoteTest {
    public static void main(String[] args) throws Exception {
        InitialContext context = new InitialContext();
        String jndiName = "java:global/cyclos4/UserSessionService!" + UserSessionService.class.getName();
        UserSessionService sessionService = (UserSessionService) context.lookup(jndiName);
        System.out.println(sessionService.getAuthenticatedUser());
    }
}

The stack trace

Exception in thread "main" javax.naming.NameNotFoundException: global not bound
     at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
     at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
     at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
     at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:597)
     at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
     at sun.rmi.transport.Transport$1.run(Transport.java:159)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
     at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     at java.lang.Thread.run(Thread.java:662)
     at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
     at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
     at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
     at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:728)
     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
     at javax.naming.InitialContext.lookup(InitialContext.java:392)
     at org.cyclos.RemoteTest.main(RemoteTest.java:11)

The jndi.properties file

#jboss JNDI properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jnp.interfaces

### The TimedSocketFactory connection timeout in milliseconds (0 == blocking) 
jnp.timeout=0
### The TimedSocketFactory read timeout in milliseconds (0 == blocking) 
jnp.sotimeout=0

Reply to this message by going to Community

Start a new discussion in JNDI and Naming at Community