Pozivanje daljinske metode je način na koji programer koristi i njegovo razvojno okruženje na daljinu. Sve o tome kako predmeta na različitim računalima komuniciraju u distribuiranoj mreži. U ovom članku o udaljenom pozivu metode na Javi reći ću vam kako stvoriti RMI aplikaciju na klijentu i poslužitelju.
U ovom su članku obrađene sljedeće teme:
operater razlučivosti opsega u c ++
Započnimo!
Što je RMI u Javi?
The RMI (Remote Method Invocation) je API koji pruža mehanizam za stvaranje distribuirane aplikacije u . RMI omogućuje objektu da poziva metode na objektu koji se izvodi u drugom . Daljinsko pozivanje metode omogućuje daljinsku komunikaciju između aplikacija pomoću dva objekta škrbina i kostur .
Razumijevanje Stuba i Kostura
Stub objekt na klijentskom stroju gradi informacijski blok i šalje te podatke poslužitelju. Blok se sastoji od:
- Identifikator udaljenog objekta koji će se koristiti
- Naziv metode na koji se treba pozvati
- Parametri udaljenog JVM-a
Predmet kostura
Kosturni objekt prosljeđuje zahtjev s klizavog objekta na udaljeni objekt. Obavlja sljedeće zadatke:
Poziva željenu metodu na stvarnom objektu koji je prisutan na poslužitelju.
Parametre primljene od objekta klizača prosljeđuje metodi.
Uz ovo, krenimo dalje i pogledajte kako stvoriti RMI aplikaciju
Koraci za stvaranje RMI aplikacije
Sljedeći koraci pomažu vam u stvaranju RMI aplikacije:
- Definiranje daljinskog upravljača sučelje
- Implementacija udaljenog sučelja
- Stvaranje Stuba i Kostura predmeta iz klase implementacije pomoću RMIC-a (RMI complier)
- Pokrenite RMI registar
- Stvorite i izvršite aplikacijski program poslužitelja
- Stvaranje i izvršavanje klijentskog aplikacijskog programa
Sada, krenimo u detalje ovih koraka.
Korak 1: Definiranje udaljenog sučelja
Prva stvar koju moramo učiniti je stvoriti sučelje . Ovo će pružiti opis metoda na koje se mogu pozvati udaljeni klijenti. Ovo sučelje trebalo bi proširiti daljinsko sučelje, a prototip metode unutar sučelja trebao bi bacati RemoteException.
// Stvaranje uvoza sučelja za pretraživanje java.rmi. * Javno sučelje Pretraživanje se proširuje na daljinu {// Proglašavanje prototipa metode javnim String upitom (pretraživanje niza) baca RemoteException}
Korak 2: Implementacija udaljenog sučelja
Sljedeći je korak implementacija udaljenog sučelja. Da bi se implementiralo udaljeno sučelje, klasa bi se trebala proširiti na Klasa UnicastRemoteObject paketa java.rmi . Također, zadani graditelj treba stvoriti za bacanje java.rmi.RemoteException iz svog nadređenog konstruktora.
// Java program za implementaciju sučelja za pretraživanje uvoz java.rmi. * Import java.rmi.server. * Javna klasa SearchQuery proširuje UnicastRemoteObject implementira Search {// Zadani konstruktor za izbacivanje RemoteException iz svog nadređenog konstruktora SearchQuery () baca RemoteException {super ( )} // Provedba javnog niza upita sučelja upita (pretraživanje niza) baca RemoteException {Rezultat niza ako (search.equals ('Odraz u Javi')) rezultat = 'true' else result = 'false' return result}}
Korak 3: Stvaranje Stub i Skeleton objekata iz klase implementacije pomoću rmic
Alat RMIC koristi se za pozivanje RMI kompajlera koji stvara objekte Stub i Skeleton. Njegov prototip je naziv klase RMIC.
KORAK 4: Pokrenite RMIregistry
Trebate pokrenuti uslugu registra izdavanjem naredbe u naredbenom retku za pokretanje RMIregistry
KORAK 5: Stvorite i pokrenite aplikacijski program poslužitelja
Sljedeći je korak stvaranje aplikacijskog programa poslužitelja i njegovo izvršavanje u zasebnom naredbenom retku.
kako baciti dvostruko na int
Poslužiteljski program koristi createRegistry metoda klase LocateRegistry za stvaranje rmiregistry unutar JVM poslužitelja s brojem porta koji je proslijeđen kao argument.
Metoda ponovnog povezivanja klase Naming koristi se za povezivanje udaljenog objekta s novim imenom.
// program za poslužiteljsku aplikaciju import java.rmi. * import java.rmi.registry. * javna klasa SearchServer {public static void main (String args []) {try {// Stvaranje objekta klase implementacije sučelja Search obj = novi SearchQuery () // rmiregistry unutar poslužiteljskog JVM-a s // brojem porta 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Povezuje udaljeni objekt imenom // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Iznimka ae) {System.out.println (ae)}}}
Korak 6: Stvorite i pokrenite program za klijentske aplikacije
Posljednji korak je stvaranje programa klijentske aplikacije i njegovo izvršavanje u zasebnom naredbenom retku. Metoda pretraživanja klase Naming koristi se za dobivanje reference objekta Stub
Gore navedeni program klijenta i poslužitelja izvršava se na istom stroju i zato se koristi localhost. Da bi pristupio udaljenom objektu s drugog stroja, localhost treba zamijeniti IP adresom na kojoj se nalazi udaljeni objekt.
Dakle, ovo nas dovodi do kraja RMI-a u članak. Nadam se da vam je bio informativan i da ste vam pomogli u razumijevanju osnova.
Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na putovanju, jer osim što postajete pitanja za ovaj intervju za javu, donosimo kurikulum koji je stvoren za studente i profesionalce koji žele biti Java Programer. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.
Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog članka 'RMI u Javi' i javit ćemo vam se u najkraćem mogućem roku.