Lời gọi phương thức từ xa trong Java là gì?



Bài viết này về RMI trong Java sẽ cho bạn biết cách triển khai giao diện gọi phương thức từ xa trên Máy khách và Máy chủ cùng với một ví dụ thực tế.

Gọi phương pháp từ xa là một cách mà một lập trình viên sử dụng và môi trường phát triển của nó từ xa. Tất cả về cách các đối tượng trên các máy tính khác nhau tương tác trong một mạng phân tán. Trong bài viết này về Gọi phương thức từ xa trong Java, tôi sẽ cho bạn biết cách tạo một ứng dụng RMI trên Máy khách và Máy chủ.

Các chủ đề dưới đây được đề cập trong bài viết này:





Bắt đầu nào!

RMI trong Java là gì?

Các RMI (Lời gọi phương thức từ xa) là một API cung cấp cơ chế để tạo một ứng dụng phân tán trong . RMI cho phép một đối tượng gọi các phương thức trên một đối tượng đang chạy trong . Lời mời phương thức từ xa cung cấp giao tiếp từ xa giữa các ứng dụng bằng hai đối tượng sơ khai bộ xương .



Hiểu về Stub và Skeleton

Đối tượng sơ khai trên máy khách xây dựng một khối thông tin và gửi thông tin này đến máy chủ. Khối bao gồm:

  • Định danh của đối tượng từ xa sẽ được sử dụng
  • Tên phương thức sẽ được gọi
  • Các thông số cho JVM từ xa

Stub and Skeleton - RMI trong Java - EdurekaĐối tượng Skeleton

Đối tượng khung chuyển yêu cầu từ đối tượng sơ khai đến đối tượng từ xa. Nó thực hiện các nhiệm vụ sau:



  • Nó gọi phương thức mong muốn trên đối tượng thực có trên máy chủ.

    kiểu chuyển đổi trong thông tin
  • Nó chuyển tiếp các tham số nhận được từ đối tượng sơ khai đến phương thức.

Với điều này, hãy tiến xa hơn và xem cách tạo Ứng dụng RMI

Các bước tạo Ứng dụng RMI

Các bước dưới đây giúp bạn tạo Ứng dụng RMI:

  1. Xác định điều khiển từ xa giao diện
  2. Triển khai giao diện từ xa
  3. Tạo Stub và Skeleton các đối tượng từ lớp triển khai sử dụng RMIC (trình biên dịch RMI)
  4. Khởi động sổ đăng ký RMI
  5. Tạo và thực thi chương trình ứng dụng máy chủ
  6. Tạo và thực thi chương trình ứng dụng khách

Bây giờ, hãy đi vào chi tiết của các bước này.

Bước 1: Xác định giao diện từ xa

Điều đầu tiên chúng ta phải làm là tạo giao diện . Điều này sẽ cung cấp một mô tả về các phương thức có thể được gọi bởi các máy khách từ xa. Giao diện này sẽ mở rộng giao diện Từ xa và nguyên mẫu phương pháp trong giao diện sẽ ném RemoteException.

// Tạo giao diện Tìm kiếm import java.rmi. * Public interface Tìm kiếm mở rộng Từ xa {// Khai báo nguyên mẫu phương thức public String Query (Tìm kiếm theo chuỗi) ném RemoteException}

Bước 2: Thực hiện giao diện từ xa

Bước tiếp theo là thực hiện giao diện từ xa. Để triển khai giao diện từ xa, lớp nên mở rộng đến Lớp UnicastRemoteObject của gói java.rmi . Ngoài ra, một mặc định người xây dựng cần được tạo ra để ném java.rmi.RemoteException từ phương thức khởi tạo mẹ của nó.

// Chương trình Java để triển khai giao diện Tìm kiếm import java.rmi. * Import java.rmi.server. * Public class SearchQuery mở rộng UnicastRemoteObject triển khai Search {// Phương thức khởi tạo mặc định để ném RemoteException từ phương thức khởi tạo mẹ của nó SearchQuery () ném RemoteException {super ( )} // Việc thực hiện giao diện truy vấn public Truy vấn chuỗi (Tìm kiếm chuỗi) ném RemoteException {Kết quả chuỗi if (search.equals ('Phản ánh trong Java')) result = 'true' else result = 'false' return result}}

Bước 3: Tạo các đối tượng Stub và Skeleton từ lớp thực thi bằng cách sử dụng rmic

Công cụ RMIC được sử dụng để gọi trình biên dịch RMI tạo ra các đối tượng Stub và Skeleton. Nguyên mẫu của nó là tên lớp RMIC.

BƯỚC 4: Khởi động RMIregistry
Bạn cần khởi động dịch vụ đăng ký bằng cách ra lệnh tại dấu nhắc lệnh khởi động RMIregistry

BƯỚC 5: Tạo và thực thi chương trình ứng dụng máy chủ
Bước tiếp theo là tạo chương trình ứng dụng máy chủ và thực thi nó trên một dấu nhắc lệnh riêng biệt.

ngôn ngữ lập trình sas là gì
  • Chương trình máy chủ sử dụng createRegistry phương thức của lớp LocateRegistry để tạo rmiregistry bên trong máy chủ JVM với số cổng được truyền dưới dạng đối số.

  • Phương thức rebind của lớp Naming được sử dụng để liên kết đối tượng từ xa với tên mới.

// chương trình cho ứng dụng máy chủ import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Tạo một đối tượng của lớp triển khai giao diện Tìm kiếm obj = new SearchQuery () // rmiregistry trong máy chủ JVM với // số cổng 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Liên kết đối tượng từ xa bằng tên // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Exception ae) {System.out.println (ae)}}}

Bước 6: Tạo và thực hiện chương trình Ứng dụng khách
Bước cuối cùng là tạo chương trình Ứng dụng Máy khách và thực thi nó trên một dấu nhắc lệnh riêng biệt. Phương thức tra cứu của lớp Naming được sử dụng để lấy tham chiếu của đối tượng Stub

Chương trình máy khách và máy chủ ở trên được thực thi trên cùng một máy và đó là lý do tại sao localhost đang được sử dụng. Để truy cập đối tượng từ xa từ một máy khác, localhost phải được thay thế bằng địa chỉ IP nơi có đối tượng từ xa.

Vì vậy, điều này đưa chúng ta đến phần cuối của RMI trong bài báo. Tôi hy vọng bạn thấy nó có nhiều thông tin và giúp bạn hiểu được các Nguyên tắc cơ bản.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trong hành trình của bạn, để trở thành một người ngoài câu hỏi phỏng vấn java này, chúng tôi đưa ra một chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành Java Nhà phát triển. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết “RMI trong Java” này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.