¿Alguien puede dar un simple retorno de llamada de RMI Ejemplo de Hello World? He estado tratando de investigarlo, pero parece que no puedo encontrar uno que entiendo. No entiendo qué es/es una devolución de llamada.Ejemplo simple de devolución de llamada de RMI
Ésta es mi actual Hello World RMI si ayuda ...
interfaz
package example.hello;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Hello extends Remote {
String sayHello() throws RemoteException;
}
cliente
package example.hello;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Client {
private Client(){}
public static void main(String[] args){
String host = (args.length < 1) ? null : args[0];
try{
Registry registry = LocateRegistry.getRegistry(host);
Hello stub = (Hello) registry.lookup("Hello");
String response = stub.sayHello();
System.out.println("response: " + response);
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
}
}
}
servidor
package example.hello;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
public class Server implements Hello {
public Server(){}
@Override
public String sayHello() {
System.out.println("responded!");
return "Hello, world!";
}
public static void main(String[] args) {
try{
Server obj = new Server();
Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);
// Bind the remote object's stub in the registry
Registry registry = LocateRegistry.getRegistry();
registry.bind("Hello", stub);
System.err.println("Server ready");
} catch (Exception e) {
System.err.println("Server exception: " + e.toString());
e.printStackTrace();
}
}
}
quizá el capítulo 4 de esta tesis: http: //www.scribd.com/doc/67084961/MasterArbeit le ayudaría a entender las devoluciones de llamada con RMI –