Ce este Invocarea Metodei la Distanță în Java?



Acest articol despre RMI în Java vă va spune cum să implementați interfața de invocare a metodei la distanță pe client și server împreună cu un exemplu practic.

Invocare metodă la distanță este un mod pe care îl folosește un programator și mediul său de dezvoltare de la distanță. Este vorba despre modul în care obiecte pe diferite computere interacționează într-o rețea distribuită. În acest articol despre Invocarea metodelor la distanță în Java, vă voi spune cum să creați o aplicație RMI în cadrul clientului și serverului.

Subiectele de mai jos sunt tratate în acest articol:





Să începem!

Ce este RMI în Java?

RMI (Invocare metodă la distanță) este un API care oferă un mecanism pentru a crea o aplicație distribuită în . RMI permite unui obiect să invoce metode pe un obiect care rulează în altul . Invocarea metodei la distanță asigură comunicarea la distanță între aplicații utilizând două obiecte ciot și schelet .



Înțelegerea Stub și a scheletului

Obiectul stub de pe computerul client construiește un bloc de informații și trimite aceste informații către server. Blocul constă din:

  • Un identificator al obiectului la distanță care trebuie utilizat
  • Numele metodei care urmează să fie invocat
  • Parametrii pentru JVM la distanță

Stub și Skeleton - RMI în Java - EdurekaObiect schelet

Obiectul schelet transmite cererea de la obiectul stub la obiectul de la distanță. Realizează următoarele sarcini:



la ce se folosește nagios
  • Apelează metoda dorită pe obiectul real prezent pe server.

  • Transmite parametrii primiți de la obiectul stub către metodă.

Cu aceasta, permiteți-vă să mergeți mai departe și să vedeți cum să creați o aplicație RMI

Pași pentru crearea aplicației RMI

Pașii de mai jos vă ajută să creați aplicația RMI:

  1. Definirea unei telecomenzi interfață
  2. Implementarea interfeței la distanță
  3. Crearea Stub și Schelet obiecte din clasa de implementare folosind RMIC (compatibil RMI)
  4. Porniți registrul RMI
  5. Creați și executați programul de aplicații server
  6. Creați și executați programul aplicației client

Acum, să intrăm în detaliile acestor pași.

cod fibonacci c ++

Pasul 1: Definirea unei interfețe la distanță

Primul lucru pe care trebuie să-l facem este să creăm un interfață . Aceasta va oferi o descriere a metodelor care pot fi invocate de clienții la distanță. Această interfață ar trebui să extindă interfața la distanță, iar metoda prototipului din interfață ar trebui să arunce RemoteException.

// Crearea unei interfețe de căutare import java.rmi. * Interfața publică Căutarea extinde la distanță {// Declararea metodei prototipului String Query (String search) aruncă RemoteException}

Pasul 2: Implementarea interfeței la distanță

Următorul pas este implementarea interfeței la distanță. Pentru a implementa interfața la distanță, clasa ar trebui să se extindă la UnicastRemoteObject clasa pachetului java.rmi . De asemenea, implicit constructor trebuie creat pentru a arunca java.rmi.RemoteException de la constructorul său părinte.

// Program Java pentru implementarea interfeței de căutare import java.rmi. * Import java.rmi.server. * Public class SearchQuery extinde UnicastRemoteObject implementează Căutare {// Constructor implicit pentru a arunca RemoteException din constructorul său părinte SearchQuery () aruncă RemoteException {super ( )} // Implementarea interfeței de interogare publică String interogare (String search) aruncă RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}

Pasul 3: Crearea obiectelor Stub și Skeleton din clasa de implementare folosind rmic

Instrumentul RMIC este utilizat pentru a invoca compilatorul RMI care creează obiectele Stub și Skeleton. Prototipul său este numele clasei RMIC.

PASUL 4: Porniți RMIregister
Trebuie să porniți serviciul de registry prin emiterea comenzii la promptul de comandă porniți RMIregistry

PASUL 5: Creați și executați programul de aplicații server
Următorul pas este să creați programul de aplicație server și să îl executați pe un prompt de comandă separat.

  • Programul server folosește fișierul createRegister metoda clasei LocateRegistry pentru a crea rmiregistry în serverul JVM cu numărul portului trecut ca argument.

  • Metoda rebind din clasa Naming este utilizată pentru a lega obiectul la distanță de noul nume.

// program pentru importarea aplicației server java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Creați un obiect al clasei de implementare a interfeței Căutare obj = new SearchQuery () // rmiregistry în serverul JVM cu // numărul portului 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Legează obiectul la distanță de numele // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Excepție ae) {System.out.println (ae)}}}

Pasul 6: Creați și executați programul aplicației client
Ultimul pas este să creați programul aplicației client și să îl executați pe un prompt de comandă separat. Metoda de căutare a clasei Naming este utilizată pentru a obține referința obiectului Stub

Programul client și server de mai sus este executat pe aceeași mașină și de aceea este utilizat localhost. Pentru a accesa obiectul la distanță de la o altă mașină, localhost trebuie înlocuit cu adresa IP unde este prezent obiectul la distanță.

diferența dintre html și xml

Deci, acest lucru ne aduce la sfârșitul RMI în articol. Sper că l-ați găsit informativ și v-ați ajutat să înțelegeți noțiunile fundamentale.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs., pentru a deveni un afară de întrebările java de interviu, venim cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un Java Dezvoltator. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui articol „RMI în Java” și ne vom contacta cât mai curând posibil.