Ola galera,mais uma vez venho pedir a ajuda de vcs se possível!!!
Estou fazendo um exercício de RMI para a faculdade,criei a interface estendi a classe remota,criei o método na interface.Após isso criei a classe de implementação estendi o UnicastRemoteObject e implementei a interface que tinha criado,então criei o método construtor da classe que lança uma RemoteException,com o comando rmic criei a classe Stub,executei o rmiregistry e executei a classe do serviço,porém ao executar a classe cliente veio o seguinte erro:
Exception in thread “main” java.lang.ClassCastException: RMI.ola_Stub cannot be cast to RMI.ola
at RMI.meuclienteremoto.go(meuclienteremoto.java:19)
at RMI.meuclienteremoto.main(meuclienteremoto.java:13)
Java Result: 1
segue o código da interface:
package RMI;
import java.rmi.*;
public interface remoto extends Remote {
public String olamundo() throws RemoteException;
}
código da classe de implementação:
package RMI;
import java.net.MalformedURLException;
import java.rmi.*;
import java.rmi.server.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ola extends UnicastRemoteObject implements remoto {
public ola() throws RemoteException{
}
@Override
public String olamundo() throws RemoteException {
String ola="Ola tudo bem?";
return ola;
}
public static void main(String [] args){
try{
remoto service=new ola();
Naming.rebind("OLA", service);
}
catch(Exception e){
e.printStackTrace();
}
}
}
código da classe cliente:
package RMI;
import java.net.MalformedURLException;
import java.rmi.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class meuclienteremoto {
public static void main(String [] args){
new meuclienteremoto().go();
}
public void go(){
try {
ola service= (ola) Naming.lookup("rmi://localhost/OLA");
String ola=service.olamundo();
System.out.println(ola);
} catch (NotBoundException ex) {
ex.printStackTrace();
} catch (MalformedURLException ex) {
Logger.getLogger(meuclienteremoto.class.getName()).log(Level.SEVERE, null, ex);
} catch (RemoteException ex) {
Logger.getLogger(meuclienteremoto.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Quem puder me ajudar eu agradeço!!!