Java ialah bahasa pengaturcaraan berorientasikan objek peringkat tinggi dengan keserasian, keselamatan dan kestabilan platform yang baik. Dengan perkembangan teknologi Internet, semakin banyak aplikasi memerlukan panggilan jauh melalui API untuk mencapai perkongsian data dan interaksi maklumat. Java Remote Method Invocation (RMI) ialah teknologi invocation jauh berdasarkan platform Java, yang boleh merealisasikan invocation kaedah jauh antara objek Java.
Artikel ini akan memperkenalkan konsep, prinsip kerja dan penggunaan Java RMI untuk membantu pembangun back-end Java membuat panggilan jauh API yang lebih baik.
1. Konsep Java RMI
Java RMI ialah teknologi panggilan jauh berdasarkan platform Java, yang boleh merealisasikan seruan kaedah jauh antara objek Java. Ringkasnya, Java RMI membenarkan aplikasi klien memanggil kaedah objek secara tidak langsung pada pelayan jauh melalui rangkaian dalam sistem teragih dan mendapatkan hasil pulangan.
Dalam Java RMI, pelanggan dan pelayan berkomunikasi menggunakan objek Java sebagai parameter dan nilai pulangan. Objek Java ini mesti boleh melaksanakan antara muka Serializable supaya ia boleh dihantar melalui rangkaian. Rangka kerja RMI secara automatik akan menyerikan parameter, mengembalikan nilai dan objek jauh, dan kemudian menghantarnya ke pelayan jauh melalui rangkaian.
2. Prinsip Kerja Java RMI
Prinsip kerja Java RMI boleh diringkaskan secara ringkas dalam langkah berikut:
1 🎜> Pertama, anda perlu mencipta objek Java yang melaksanakan antara muka Jauh sebagai objek jauh. Objek jauh dicipta pada bahagian pelayan Pelanggan boleh mendapatkan kebenaran untuk mengakses objek jauh melalui rujukan jauh (Rujukan Jauh) dan kaedah panggilan pada objek jauh.
2. Daftar objek jauh
Daftar objek jauh ke dalam daftar RMI. Pendaftaran RMI ialah jadual pemetaan mengikat yang mengandungi nama objek jauh dan rujukan jauh Pelanggan boleh mendapatkan rujukan jauh dengan menyatakan nama. Pendaftaran RMI boleh dijalankan pada JVM tempatan atau pada JVM jauh.
3. Pelanggan mendapatkan rujukan jauh
Pelanggan perlu meminta rujukan jauh daripada pendaftaran RMI untuk mendapatkan kebenaran untuk mengakses objek jauh. Pelanggan boleh menggunakan kaedah lookup() yang disediakan oleh kelas Penamaan untuk melaksanakan langkah ini. Kaedah lookup() menerima parameter rentetan yang menentukan nama objek jauh untuk ditemui dan mengembalikan rujukan jauh.
4. Pelanggan memanggil kaedah jauh
Klien memanggil kaedah pada objek jauh melalui rujukan jauh yang diperolehi Parameter dan nilai pulangan kaedah akan dihantar ke pelayan jauh melalui rangkaian untuk pemprosesan dan mengembalikan hasilnya kepada pelanggan.
3. Cara menggunakan Java RMI
Berikut ialah pengenalan cara menggunakan Java RMI untuk membuat panggilan jauh API:
1 >
Pertama, anda perlu Tulis antara muka jauh dan mewarisi antara muka java.rmi.Remote. Antara muka mentakrifkan kaedah jauh yang perlu dilaksanakan, dan kaedah mesti mengisytiharkan bahawa mereka membuang java.rmi.RemoteException. Contohnya:import java.rmi.Remote; import java.rmi.RemoteException; public interface MyRemoteInterface extends Remote { public String sayHello() throws RemoteException; }
import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; public class MyRemoteObject extends UnicastRemoteObject implements MyRemoteInterface { public MyRemoteObject() throws RemoteException {} public String sayHello() throws RemoteException { return "Hello world!"; } }
import java.rmi.Naming; import java.rmi.registry.LocateRegistry; public class Server { public static void main(String[] args) throws Exception { LocateRegistry.createRegistry(1099); //启动RMI注册表 Naming.rebind("MyRemoteObject", new MyRemoteObject()); //注册远程对象 System.out.println("Server is running..."); } }
import java.rmi.Naming; public class Client { public static void main(String[] args) throws Exception { MyRemoteInterface remote = (MyRemoteInterface) Naming.lookup("rmi://localhost/MyRemoteObject"); //获取远程引用 String result = remote.sayHello(); //调用远程方法 System.out.println(result); } }
Atas ialah kandungan terperinci Pembangunan back-end Java: Menggunakan Invocation Kaedah Jauh Java untuk panggilan jauh API. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!