Vzdálené vyvolání metody je způsob, který programátor využívá a jeho vývojové prostředí na dálku. Je to všechno o tom, jak předměty na různých počítačích interagují v distribuované síti. V tomto článku o Vzdálené vyvolání metody v Javě vám povím, jak vytvořit aplikaci RMI napříč klientem a serverem.
V tomto článku se věnujeme níže uvedeným tématům:
Začněme!
Co je RMI v Javě?
The RMI (Remote Method Invocation) je API, které poskytuje mechanismus pro vytvoření distribuované aplikace v . RMI umožňuje objektu vyvolat metody na objektu běžícím v jiném . Vzdálená metoda vyvolání poskytuje vzdálenou komunikaci mezi aplikacemi pomocí dvou objektů pahýl a kostra .
Pochopení útržku a kostry
Objekt pahýl na klientském počítači vytvoří informační blok a odešle tyto informace na server. Blok se skládá z:
- Identifikátor vzdáleného objektu, který má být použit
- Název metody, který má být vyvolán
- Parametry ke vzdálenému JVM
Kostra objektu
rámec řízený klíčovými slovy v selenu
Kostrový objekt předává požadavek z objektu se zakázaným inzerováním do vzdáleného objektu. Provádí následující úkoly:
Volá požadovanou metodu na reálném objektu přítomném na serveru.
Předává parametry přijaté z objektu se zakázaným inzerováním do metody.
Díky tomu se přesuneme dále a uvidíme, jak vytvořit aplikaci RMI
Kroky k vytvoření aplikace RMI
Níže uvedené kroky vám pomohou vytvořit aplikaci RMI:
- Definování dálkového ovladače rozhraní
- Implementace vzdáleného rozhraní
- Vytvoření útržku a kostry předměty z implementační třídy pomocí RMIC (RMI complier)
- Spusťte registr RMI
- Vytvořte a spusťte aplikační program serveru
- Vytvořte a spusťte klientský aplikační program
Nyní se podívejme na podrobnosti těchto kroků.
Krok 1: Definování vzdáleného rozhraní
První věc, kterou musíme udělat, je vytvořit rozhraní . To poskytne popis metod, které lze vyvolat vzdálenými klienty. Toto rozhraní by mělo rozšířit vzdálené rozhraní a prototyp metody v rámci rozhraní by měl vyvolat RemoteException.
// Vytvoření importu vyhledávacího rozhraní java.rmi. * Veřejné rozhraní Search extends Remote {// Deklarování prototypu metody public String Query (String search) vyvolá RemoteException}
Krok 2: Implementace vzdáleného rozhraní
Dalším krokem je implementace vzdáleného rozhraní. Aby bylo možné implementovat vzdálené rozhraní, měla by se třída rozšířit na UnicastRemoteObject třída balíčku java.rmi . Také výchozí stavitel je třeba vytvořit hodit java.rmi.RemoteException od nadřazeného konstruktoru.
// Program Java pro implementaci vyhledávacího rozhraní import java.rmi. * Import java.rmi.server. * Veřejná třída SearchQuery rozšiřuje UnicastRemoteObject implementuje Search {// Výchozí konstruktor, který vyvolá RemoteException ze svého nadřazeného konstruktoru SearchQuery () hodí RemoteException {super ( )} // Implementace veřejného rozhraní dotazu String query (String search) vrhá RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}
Krok 3: Vytváření objektů Stub a Skeleton z třídy implementace pomocí rmic
Nástroj RMIC se používá k vyvolání kompilátoru RMI, který vytváří objekty Stub a Skeleton. Jeho prototyp je název třídy RMIC.
KROK 4: Spusťte RMIregistry
Službu registru musíte spustit vydáním příkazu na příkazovém řádku spustit RMIregistry
Krok 5: Vytvoření a spuštění aplikačního programu serveru
Dalším krokem je vytvoření aplikačního programu serveru a jeho provedení na samostatném příkazovém řádku.
Program serveru používá createRegistry metoda třídy LocateRegistry k vytvoření rmiregistry v rámci serveru JVM s číslem portu předaným jako argument.
Metoda rebind třídy Naming se používá k vytvoření vazby vzdáleného objektu na nový název.
// program pro serverovou aplikaci import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Create an object of the interface implementation class Search obj = new SearchQuery () // rmiregistry within the server JVM with // port number 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Spojí vzdálený objekt s názvem // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Výjimka ae) {System.out.println (ae)}}}
Krok 6: Vytvořte a spusťte program klientské aplikace
Posledním krokem je vytvoření programu klientské aplikace a jeho spuštění na samostatném příkazovém řádku. Metoda vyhledávání třídy Naming se používá k získání odkazu na objekt Stub
Výše uvedený program klienta a serveru se provádí na stejném počítači, a proto se používá localhost. Aby bylo možné přistupovat ke vzdálenému objektu z jiného počítače, je třeba localhost nahradit IP adresou, kde je vzdálený objekt přítomen.
Tím se dostáváme na konec RMI článek. Doufám, že jste to shledali informativními a pomohli vám pochopit základy.
Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být Jáva Vývojář. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými rámci Java, jako je Hibernate & Spring.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „RMI v Javě“ a my se vám ozveme co nejdříve.