Java RMI

Versi Jini
Jini menyediakan versi yang lebih canggih bagi RMI di dalam Java. Fungsinya serupa namun ia menyediakan kemampuan dan mekanisma pencarian yang lebih canggih untuk aplikasi-aplikasi objek teragih.Taylor, Ian J. From P2P to Web Services and Grids - Peers in a Client/Server World. Springer, 2005

Contoh
Kelas-kelas berikut melaksanakan sebuah atur cara pelanggan-pelayan menggunakan RMI yang memaparkan pesanan.Kelas RmiServer ''' — mendengar permintaan RMI dan melaksanakan antara muka yang digunakan oleh pelanggan untuk menyeru kaedah-kaedah jauh.

import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.server.UnicastRemoteObject;
import java.rmi.registry.*; 

public class RmiServer extends UnicastRemoteObject 
    implements RmiServerIntf {
    public static final String MESSAGE = "Hello world";

    public RmiServer() throws RemoteException {
    }

    public String getMessage() {
        return MESSAGE;
    }

    public static void main(String args[]) {
        System.out.println("RMI server started");

        // Cipta dan pasang pengurus keselamatan
        if (System.getSecurityManager() == null) {
            System.setSecurityManager(new RMISecurityManager());
            System.out.println("Security manager installed.");
        } else {
            System.out.println("Security manager already exists.");
        }

        try { //pengendali pengecualian khusus untuk penciptaan daftar
            LocateRegistry.createRegistry(1099); 
            System.out.println("java RMI registry created.");
        } catch (RemoteException e) {
            //tidak berbuat apa-apa, ralat bermaksud daftar telah wujud
            System.out.println("java RMI registry already exists.");
        }

        try {
            //Tikakan RmiServer
            RmiServer obj = new RmiServer();

            //Ikat tika objek ini kepada nama "RmiServer"
            Naming.rebind("//localhost/RmiServer", obj);

            System.out.println("PeerServer bound in registry");
        } catch (Exception e) {
            System.err.println("RMI server exception:" + e);
            e.printStackTrace();
        }
    }
}

Rujukan

RMI
Kategori:Panggilan tatacara jauh