Exemplo – Java RMI

 

Arquivo Hello.java (interface)

import java.net.*;
import java.rmi.*;

public interface Hello extends Remote {
    String sayHello() throws RemoteException;
}

Arquivo HelloImpl.java (implementação do objeto remoto)

import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;

public class HelloImpl extends UnicastRemoteObject implements Hello {
    
    public HelloImpl() throws RemoteException{
        super();
    }

    public String sayHello() {
        return "HelloWorld!";
    }
}

 

Arquivo HelloServer.java (servidor)

import java.net.*;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;

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());
        }
    }
}

 

Arquivo HelloClient.java (cliente)

import java.net.*;
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;

public class HelloClient {
    public static void main(String args[ ]) {
    //Cria e instala o security manager
    //    System.setSecurityManager (new RMISecurityManager () );
        try {
            Hello obj = (Hello)Naming.lookup("rmi://vip03/HelloServer");
            System.out.println(obj.sayHello());
        } catch(Exception e) {
            System.out.println("HelloClient erro"+ e.getMessage());
        }
        System.exit(0);
    }
}