Boa noite, estou desenvolvendo um trabalho para a faculdade utilizando RMI e CODEBASE.
Meu código funciona corretamente, o RMI registra o objeto, o codebase funciona… blz…
Só que para funcionar meu servidor do codebase deve estar no diretório raiz de onde os pacotes ficam (diretório ./classes do netbeans) e o rmiregistry deve ser executado no mesmo diretório (./classes) atraves da linha de comando.
O professor disse em sala de aula que se setassemos as propriedades do registry e do codebase no servidor remoto poderiamos executar o rmiregistry a partir de qualquer diretório. O mesmo vale para o codebase.
Alguem pode me dizer se há algo errado no código do meu servidor impedindo que isso aconteça?
[code]/*
package ad_tarefa04;
import java.rmi.AlreadyBoundException;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
-
@author Ariel
*/
public class ServidorEleicao {
public static void main(String[] args){
System.setProperty(“java.rmi.server.codebase”, “http://192.168.0.5:8989/eleicao”);
System.setProperty(“java.rmi.server.hostname”, “192.168.0.5”);try { EleicaoRemota eleicao = new EleicaoImpl(); Registry registry = LocateRegistry.getRegistry(); //.getRegistry("IP DO SERVIDOR"); registry.rebind("eleicao", eleicao); System.out.println("Servidor iniciado, aguardando acessos.."); } catch (RemoteException ex) { System.err.println("Não foi possivel criar o objeto remoto."); ex.printStackTrace(); }
}
}
[/code]
Valeu