Zdalne wywołanie metody jest sposobem, z którego korzysta programista i jego środowisko programistyczne zdalnie. Chodzi o to, jak obiekty na różnych komputerach współdziałają w sieci rozproszonej. W tym artykule na temat zdalnego wywoływania metod w Javie, powiem ci, jak utworzyć aplikację RMI na kliencie i serwerze.
Poniższe tematy są omówione w tym artykule:
jak dodać java do ścieżki
Zacznijmy!
Co to jest RMI w Javie?
Plik RMI (Remote Method Invocation) to interfejs API, który zapewnia mechanizm tworzenia rozproszonej aplikacji w . RMI umożliwia obiektowi wywoływanie metod na obiekcie działającym w innym . Zdalne wywołanie metody zapewnia zdalną komunikację między aplikacjami przy użyciu dwóch obiektów kikut i szkielet .
Zrozumienie Stub and Skeleton
Obiekt pośredniczący na komputerze klienta tworzy blok informacji i wysyła te informacje do serwera. Blok składa się z:
- Identyfikator zdalnego obiektu, który ma zostać użyty
- Nazwa metody, która ma zostać wywołana
- Parametry do zdalnej maszyny JVM
Szkielet obiektu
Obiekt szkieletowy przekazuje żądanie z obiektu pośredniczącego do obiektu zdalnego. Wykonuje następujące zadania:
Wywołuje żądaną metodę na rzeczywistym obiekcie obecnym na serwerze.
Przekazuje parametry otrzymane z obiektu stub do metody.
Dzięki temu przejdźmy dalej i zobaczmy, jak utworzyć aplikację RMI
Kroki tworzenia aplikacji RMI
Poniższe kroki pomogą Ci stworzyć aplikację RMI:
- Definiowanie pilota berło
- Implementacja zdalnego interfejsu
- Tworzenie kodu i szkieletu obiekty z klasy implementacji przy użyciu RMIC (Complier RMI)
- Uruchom rejestr RMI
- Utwórz i uruchom program aplikacji serwera
- Utwórz i uruchom aplikację kliencką
Przejdźmy teraz do szczegółów tych kroków.
Krok 1: Definiowanie zdalnego interfejsu
Pierwszą rzeczą, którą musimy zrobić, jest utworzenie pliku berło . Zapewni to opis metod, które mogą być wywoływane przez klientów zdalnych. Ten interfejs powinien rozszerzyć interfejs Remote, a prototyp metody w interfejsie powinien zgłosić RemoteException.
// Tworzenie interfejsu wyszukiwania import java.rmi. * Public interface Search extends Remote {// Deklarowanie prototypu metody public String Query (wyszukiwanie w ciągu znaków) rzuca RemoteException}
Krok 2: Implementacja zdalnego interfejsu
Następnym krokiem jest zaimplementowanie zdalnego interfejsu. Aby zaimplementować zdalny interfejs, klasa powinna obejmować rozszerzenie Klasa UnicastRemoteObject pakietu java.rmi . Również domyślny budowniczy musi zostać utworzony, aby wyrzucić plik java.rmi.RemoteException z konstruktora nadrzędnego.
// Program Java do implementacji interfejsu wyszukiwania import java.rmi. * Import java.rmi.server. * Publiczna klasa SearchQuery rozszerza UnicastRemoteObject implementuje Search {// Domyślny konstruktor, który wyrzuca RemoteException ze swojego nadrzędnego konstruktora SearchQuery () rzuca RemoteException {super ( )} // Implementacja interfejsu zapytań public String query (String search) throws RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}
Krok 3: Tworzenie obiektów Stub i Skeleton z klasy implementacyjnej przy użyciu rmic
Narzędzie RMIC służy do wywoływania kompilatora RMI, który tworzy obiekty Stub i Skeleton. Jego prototypem jest nazwa klasy RMIC.
KROK 4: Uruchom rejestrację RMI
Musisz uruchomić usługę rejestru, wydając polecenie w wierszu poleceń start RMIregistry
KROK 5: Utwórz i uruchom program aplikacji serwera
Następnym krokiem jest utworzenie programu aplikacji serwera i wykonanie go w osobnym wierszu polecenia.
Program serwera używa rozszerzenia createRegistry metody klasy LocateRegistry, aby utworzyć rmiregistry w wirtualnej maszynie Java serwera z numerem portu przekazanym jako argument.
Metoda rebind klasy Naming służy do powiązania zdalnego obiektu z nową nazwą.
// program dla aplikacji serwerowej import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Utwórz obiekt implementacji interfejsu class Search obj = new SearchQuery () // rmiregistry w serwerze JVM z // numerem portu 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Wiąże zdalny obiekt według nazwy // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (wyjątek ae) {System.out.println (ae)}}}
Krok 6: Utwórz i uruchom aplikację kliencką
Ostatnim krokiem jest utworzenie programu aplikacji klienckiej i wykonanie go w osobnym wierszu polecenia. Metoda wyszukiwania klasy Naming służy do pobrania odwołania do obiektu Stub
Powyższy program klienta i serwera jest wykonywany na tym samym komputerze i dlatego używany jest localhost. Aby uzyskać dostęp do zdalnego obiektu z innej maszyny, localhost należy zastąpić adresem IP, na którym znajduje się zdalny obiekt.
To prowadzi nas do końca RMI w artykuł. Mam nadzieję, że uznałeś to za przydatne i pomogło ci w zrozumieniu podstaw.
Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby zostać oprócz pytań do rozmowy kwalifikacyjnej w języku Java, opracowaliśmy program nauczania, który jest przeznaczony dla studentów i profesjonalistów, którzy chcą być Jawa Deweloper. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu „RMI w Javie” a my skontaktujemy się z Tobą tak szybko, jak to możliwe.