Java RMI

Model pelaksanaan biasa Java-RMI menggunakan objek stub dan skeleton'. Java 2 SDK, Standard Edition, v1.2 tidak lagi memerlukan skeleton.

Penyeruan kaedah jauh Java (Java Remote method invocation, Java RMI) ialah sebuah API Java yang melakukan padanan berorientasi objek bagi panggilan tatacara jauh (RPC, remote procedure call).

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.[1]

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

  1. ^ Taylor, Ian J. From P2P to Web Services and Grids - Peers in a Client/Server World. Springer, 2005

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.