NotBoundException en localhost

Tengo un servidor RMI ejecutándose en el host local, exportando un objeto de tipo Message:

try {
    MessageServer obj = new MessageServer();
    Message stub = (Message) UnicastRemoteObject.exportObject(obj, 0);
    Registry registry = LocateRegistry.getRegistry();
    registry.bind("M", stub);
} catch (RemoteException e) {
} catch (AlreadyBoundException e) {
}

Luego quiero iniciar un cliente y obtener el código auxiliar para este objeto. Parece que se encuentra el registro pero luego en el trybloque NotBoundExceptionse arroja un:

java.rmi.NotBoundException: M at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:136) at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source) at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267) at sun.rmi.transport.Transport$1.run(Transport.java:177) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:377) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at rmitest.MessageClient.main(MessageClient.java:23)

public static void main(String args[]) {
        //String host = "localhost";
        Registry registry;
        Message stub = null;
        try {
            registry = LocateRegistry.getRegistry();
            stub = (Message) registry.lookup("M"); //NotBoundException thrown here
        } catch (NotBoundException ex) {
        } catch (AccessException ex) {
        } catch (RemoteException ex) {
        }
        try {
            stub.insert("TestString"); //NullPointerException here
        } catch (RemoteException ex) {
        }

}

¿Por qué "M"no se encuentra? Tanto el servidor como el cliente se inician dentro de Netbeans, el registro se inicia a través de la terminal de antemano.

Respuesta 1

Hay muchas bibliotecas para leer / escribir / agregar texto desde / a un archivo csv en java. ¿Cuál es la biblioteca más eficiente en memoria y CPU para leer texto de un archivo csv? Además, tengo un ...

Soy un principiante en el aprendizaje de la programación Java y estoy haciendo el juego de tic tac toe. Cuando termino mi juego, no puedo seguir jugando porque el programa se cerrará. ¿Qué debo agregar a esto ...

Estoy tratando de construir una aplicación web java usando struts2 y tiles en Google App Engine. A continuación se muestra mi archivo tiles.xml <! DOCTYPE tiles-definition PUBLIC "- // Apache Software Foundation // ...

Estoy haciendo la aplicación. en Netbeans en Java. En mi clase tengo 3 instancias de JTree. Quiero verificar en qué nodo del árbol se hace clic o se selecciona en el evento de árbol del mouse. ¿Cómo puedo hacer eso?