Vc já rodou em duas telas de console ? , sinceramente nunca rodei um RMI com Plugin do Eclipse até desconheço esse plugin …
Re:RMI, como juntar tudo?
3 Respostas
Fenix me desculpe em responde tarde a sua mensagem o guj tbm nao ajuda o sistema sempre caia qndo queria acessar o seu post , mas vai lá
Fácil:
:arrow: Primeiramente vc compila .java
:arrow: Segundo vc cria o seu stub rmic Hello
:arrow: Terceiro vc roda o rmiregistry &(linux) ou start 1099 (windows)
:arrow: Quarto vc roda sua classe servidor em um console java HelloServer
:arrow: Quinto vc roda o seu cliente em outro console java HelloClient
Qualquer coisa so gritar …
Estou começando agora em conexões RMI, peguei várias tutoriais e artigos na internet, inclusive um aqui no guj, todos muito bom. Mas fiquei com algumas dúvidas, abaixo seguem as mesmas:
Tenho todos o códigos escritos como faço para juntar tudo para ver funcionando, sendo que, usando o eclipse e o seu plugin de RMI.
Abaixo seguem algumas classes simples só para exemplo, e para que possa ser explicado tudo através delas:
//Interface a ser implemantada
package remoto;
import java.net.*;
import java.rmi.*;
public interface Hello extends Remote {
String sayHello() throws RemoteException;
}
//Classe que ficará remotamente
package remoto;
import java.rmi.*;
import java.rmi.server.*;
public class HelloImpl extends UnicastRemoteObject implements Hello {
public HelloImpl() throws RemoteException{
super();
}
public String sayHello() {
return "HelloWorld!";
}
}
//Aplicação que irá funcionar como server
import java.net.*;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import remoto.HelloImpl;
public class HelloServer {
public static void main (String args [ ]) {
//Cria e instala o security manager
System.setSecurityManager(new RMISecurityManager() );
try {
//Cria HelloImpl
HelloImpl obj = new HelloImpl();
Naming.rebind("HelloServer", obj);
System.out.println("Hello Server pronto.");
} catch(Exception e) {
System.out.println("HelloServer erro"+ e.getMessage());
}
}
}
package cliente; // Aplicação que se encontra no cliente
import java.net.*;
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;
import remoto.*;
public class HelloCliente {
public static void main(String args[ ]) {
//Cria e instala o security manager
System.setSecurityManager (new RMISecurityManager () );
try {
Hello obj = (Hello)Naming.lookup("rmi://localhost:1099/HelloServer");
System.out.println(obj.sayHello());
} catch(Exception e) {
System.out.println("HelloClient erro"+ e.getMessage());
}
System.exit(0);
}
}
Como faço para juntar tudo e colocar a aplicação para funcionar, usando o plugin do eclipse???
A minha estrutura de diretório está desta maneira:
RMI
-cliente
–HelloCliente.java
-remoto
–Hello.java
–HelloImpl
-servidor
–HelloServer
Blz, e como faço pra rodar nos dois consoles sem usar o plugin???Gostaria de poder simular um conexão…
Desde já agradeço