[RESOLVIDO]Propriedades do Sistema

4 respostas
R

Boa tarde, alguém sabe como faço para definir a propriedade do sistema java.rmi.server.hostname com o número do meu ip servidor?
Estou com um problema de conexão usando o RMI e no site RMI FAQ no item A1 está escrito o seguinte:

Como devo fazer isso?
É dentro o meu código fonte ou é um comando que devo digitar antes de executar o servidor, vocês poderiam me dar algum exemplo?

Obrigado

4 Respostas

E

Exemplo:

java -Djava.rmi.server.hostname=______ … outras opções … NomeDaClasse

R

Devo fazer isto dentro da pasta onde testa o código fonte antes de iniciar o servidor?
O nome da classe principal é MensageiroServer então o comando ficaria assim?

java -Djava.rmi.server.hostname=192.168.1.103 MensageiroServer

E

Boa pergunta, não sei como é que você inicia sua aplicação. Só sei que o comando deve incluir a opção -D.

R
Inicio chamando a minha classe main que se chama MensageiroServer, no terminal eu entro na pasta onde tenho todos os arquivos compilados e digito? "$ java MensageiroServer" Agora tentei digitar o seguite: "$ java -Djava.rmi.server.hostname=192.168.1.100 MensageiroServer" e apareceu a seguinte exceção:
Erro no servidor: java.rmi.ConnectIOException: Exception creating connection to: 192.168.1.100; nested exception is: java.net.NoRouteToHostException: No route to host
Vou postar aqui o que coloquei no computador que irá ser o srvidor:
import java.rmi.Remote;  
import java.rmi.RemoteException;  
  
public interface Inter_Mensageiro extends Remote {  
  
    void enviarMensagem(String msg) throws RemoteException;  
  
    String lerMensagem() throws RemoteException;  
  
}  
*********************************************************************************  
import java.rmi.RemoteException;  
import java.rmi.server.UnicastRemoteObject;  
  
public class Impl_Mensageiro extends UnicastRemoteObject implements Inter_Mensageiro {  
  
    public Impl_Mensageiro() throws RemoteException {  
        super();  
    }  
  
    @Override  
    public void enviarMensagem(String msg) throws RemoteException {  
        System.out.println(msg);  
    }  
  
    @Override  
    public String lerMensagem() throws RemoteException {  
        return "Ola mundo meu ovo!";  
    }  
  
}  
*********************************************************************************  
import java.rmi.Naming;  
import java.rmi.registry.LocateRegistry;  
  
public class MensageiroServer {  
    public static void main(String[] args) {  
        try {  
            Impl_Mensageiro m = new Impl_Mensageiro();  
            LocateRegistry.createRegistry(1099);  
            Naming.bind("//192.168.1.100/MensageiroService", m);  
            System.out.println("Servidor no ar.");  
        } catch (Exception e) {  
            System.out.println("Erro no servidor: " + e);  
        }  
    }  
}  
*********************************************************************************
E aqui o que coloquei no computador onde irá rodar o cliente:
*********************************************************************************  
//Mesma interface que tenho no computador servidor.
*********************************************************************************  
//Mesma classe que implementa a interface que tenho no computador servidor.
*********************************************************************************  
import java.rmi.RemoteException;  
import java.rmi.Naming;
 
public class MensageiroCliente {
 
    public static void main(String[] args) {
        try {
            Inter_Mensageiro m = (Inter_Mensageiro) Naming.lookup("//192.168.1.100/MensageiroService");
            String resposta = m.lerMensagem();
            System.out.println("Resposta do Server: " + resposta);
        } catch (RemoteException e) {
            System.out.println();
            System.out.println("RemoteException: " + e.toString());
        } catch (Exception e) {
            System.out.println();
            System.out.println("Exception: " + e.toString());
        }
    }
}
*********************************************************************************
Criado 4 de junho de 2012
Ultima resposta 4 de jun. de 2012
Respostas 4
Participantes 2