RMI - Problemas ao rodas a parte Cliente "NotBoundException: java.rmi.NotBoundException: ChatServer"

0 respostas
W

Prezados,

Ja realizei varias leituras de topicos postados aqui no Grupo e também na internet (Google , e etc), mas não conseguir resolver meu problema referente ao funcionamento de RMI.

Irei postar meus fontes e arquivos de configurações:

Segue:

Chat.java

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Chat extends Remote {

//Metodo para enviar Mensagem

public void enviarMensagem( String msg ) throws RemoteException;
//Metodo para lerMensagem
 public String lerMensagens() throws RemoteException;

}

ChatClient.java

import java.rmi.Naming;

import java.rmi.RemoteException;

import java.rmi.NotBoundException;

import java.net.MalformedURLException;

public class ChatClient {

public static void main( String args[] ) {
     try {
         Chat c = (Chat) Naming.lookup( "rmi://localhost/ChatServer" );
         System.out.println(c.lerMensagens());
         c.enviarMensagem("Hello World!");
     }
    catch( MalformedURLException e ) {   
        System.out.println();   
        System.out.println( "MalformedURLException: " + e.toString() );   
    }   
    catch( RemoteException e ) {   
        System.out.println();   
        System.out.println( "RemoteException: " + e.toString() );   
    }   
    catch( NotBoundException e ) {   
        System.out.println();   
        System.out.println( "NotBoundException: " + e.toString() );   
    }   
    catch( Exception e ) {   
        System.out.println();   
        System.out.println( "Exception: " + e.toString() );   
    }   
}

}

ChatImpl

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

//Implementação dos metodos de Chat

public class ChatImpl extends UnicastRemoteObject implements Chat {

//Variavel para armazenar a mensagem

StringBuffer mensagens;
//Constructor da classe
 public ChatImpl() throws RemoteException {
     super();
     this.mensagens = new StringBuffer();
 }

 //Enviar mensagem
public void enviarMensagem( String mensagem ) throws RemoteException{
    mensagens.append(mensagem+"\n");
 }
//Enviar mensagem

public String lerMensagens() throws RemoteException{

return new String(mensagens);

}

}

ChatServer

import java.rmi.Naming;

public class ChatServer {

public ChatServer() {
try
	{
	      Chat c = new ChatImpl();
			Naming.rebind("//localhost/MensageiroService", c);
         System.out.println("Servidor Inicializado com Sucesso.");
	}
	catch( Exception e ) {
		System.out.println( "Trouble: " + e );
        System.out.println( "Verifique se 'rmiregistry' esta´ ativo!");
	}
}
public static void main(String a[]){   
    new ChatServer();   
}

}

JDK - Instalado = 1.6.0

Arquivos bat configurados para compilar e rodar meu layout de Chat:

  • 1_Compilar_Gerar_Stubs.bat

javac Chat.java
javac ChatClient.java
javac ChatImpl.java
javac ChatServer.java
rmic ChatImpl

Esta parte executa normalmente, o Rmi é executado normalmente.

  • 2_Iniciar.bat

@echo off
start rmiregistry
start java ChatServer
start java ChatClient

Ao executar esta Bat, o “servidor do chat” é inicializado sem erros, mas ao executar o ChatClient a aplicação exibe a mensagem abaixo:

“NotBoundException: java.rmi.NotBoundException: ChatServer”.

Por favor me ajudem Galera do grupo.

Obrigado.

Criado 26 de setembro de 2010
Respostas 0
Participantes 1