Mi a távoli módszer meghívása a Java-ban?

Ez a cikk a Java RMI-jéről ismerteti, hogyan lehet a távoli módszer meghívó felületet megvalósítani az ügyfél és a kiszolgálón, valamint egy gyakorlati példát.

Távoli módszer meghívása egy olyan mód, amelyet egy programozó használ és fejlesztési környezete távolról. Minden arról szól, hogy a tárgyakat különböző számítógépeken kölcsönhatásba lépnek egy elosztott hálózatban. Ebben a cikkben a Java távoli módszer meghívásáról elmondom, hogyan hozhat létre RMI alkalmazást az ügyfél és a kiszolgálón.



Az alábbi témákkal foglalkozik ez a cikk:



Lássunk neki!

Mi az RMI a Java-ban?

Az RMI A (Remote Method Invocation) egy olyan API, amely biztosítja az elosztott alkalmazás létrehozásának mechanizmusát . Az RMI lehetővé teszi az objektum számára, hogy metódusokat hívjon elő egy másikban futó objektumon . A Távoli módszer meghívása távoli kommunikációt biztosít az alkalmazások között, két objektumot használva csonk és csontváz .



Stub és a csontváz megértése

Az ügyfélgép csonkobjektuma épít egy információs blokkot, és elküldi ezeket az információkat a kiszolgálónak. A blokk a következőkből áll:

  • A használni kívánt távoli objektum azonosítója
  • A meghívandó módszer neve
  • Paraméterek a távoli JVM-hez

Stub and Skeleton - RMI Java-ban - EdurekaCsontváz objektum

A csontváz objektum továbbítja a kérelmet a csonk objektumtól a távoli objektumhoz. A következő feladatokat látja el:



  • Meghívja a kívánt módszert a szerveren lévő valós objektumon.

  • A csonk objektumtól kapott paramétereket továbbítja a módszerhez.

Ezzel lépjen tovább, és nézze meg, hogyan hozhat létre RMI alkalmazást

Az RMI alkalmazás létrehozásának lépései

Az alábbi lépések segítenek az RMI alkalmazás létrehozásában:

  1. Távirányító meghatározása felület
  2. A távoli interfész megvalósítása
  3. Csonk és csontváz létrehozása tárgyakat az implementációs osztályból az RMIC (RMI-kompatibilis) használatával
  4. Indítsa el az RMI nyilvántartást
  5. Hozza létre és futtassa a kiszolgálóalkalmazás-programot
  6. Hozza létre és hajtsa végre az ügyfélalkalmazás programot

Most térjünk rá ezeknek a lépéseknek a részleteire.

1. lépés: Távoli interfész meghatározása

Az első dolog, amit meg kell tennünk, az egy felület . Ez leírja a távoli kliensek által meghívható módszereket. Ennek az interfésznek ki kell terjesztenie a távoli interfészt, és az interfészen belüli módszer prototípusának el kell dobnia a RemoteException szolgáltatást.

// Keresési felület létrehozása importálja a java.rmi. * Nyilvános felület A keresés kiterjeszti a távoli programot {// A nyilvános karakterlánc-lekérdezés (karakterlánc-keresés) metódusának deklarálása a RemoteException parancsot dobja}

2. lépés: Távoli interfész megvalósítása

A következő lépés a távoli interfész megvalósítása. A távoli interfész megvalósításához az osztálynak ki kell terjednie a A java.rmi csomag UnicastRemoteObject osztálya . Ezenkívül alapértelmezett építész létre kell hozni a java.rmi.RemoteException szülő konstruktorától.

// Java program a keresési felület importálásához. Import java.rmi. * Import java.rmi.server. * Public class SearchQuery kiterjeszti az UnicastRemoteObject alkalmazást a Search {// Alapértelmezett konstruktor számára, hogy a RemoteException-t a szülő konstruktorától dobja. )} // A lekérdezési felület nyilvános karakterlánc-lekérdezése (karakterlánc-keresés) eldobja a RemoteException {karakterlánc-eredményt, ha (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}

3. lépés: Stub és Skeleton objektumok létrehozása az implementációs osztályból az rmic használatával

Az RMIC eszköz az RMI fordító meghívására szolgál, amely létrehozza a Stub és Skeleton objektumokat. Prototípusa az RMIC osztály neve.

hogyan rendezzünk egy tömböt c ++

4. LÉPÉS: Indítsa el az RMIregistry-t
A rendszerleíró adatbázis szolgáltatást úgy kell elindítania, hogy kiadja a parancsot az RMIregistry indító parancssorban

5. LÉPÉS: Hozza létre és futtassa a kiszolgálóalkalmazás-programot
A következő lépés a kiszolgálóalkalmazás-program létrehozása és végrehajtása külön parancssorban.

  • A szerver program a createRegistry a LocateRegistry osztály metódusa rmiregistry létrehozására a JVM kiszolgálón belül, argumentumként átadva a portszámot.

  • A Naming class újraindítási módszerével a távoli objektumot az új névhez lehet kötni.

// program a kiszolgálóalkalmazáshoz import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// A felület megvalósítási osztályának objektumának létrehozása Search obj = új SearchQuery () // rmiregistry a JVM szerveren belül, 1900-as portszámmal // LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // A távoli objektumot névvel köti meg: // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (ae kivétel) {System.out.println (ae)}}}

6. lépés: Hozzon létre és hajtsa végre az Ügyfélalkalmazás programot
Az utolsó lépés az Client Application program létrehozása és végrehajtása külön parancssorban. A Naming class keresési módszerét használjuk a Stub objektum hivatkozásának megszerzéséhez

A fenti kliens és szerver program ugyanazon a gépen fut, ezért a localhostot használják. Annak érdekében, hogy egy másik számítógépről hozzáférhessen a távoli objektumhoz, a localhostot ki kell cserélni arra az IP-címre, ahol a távoli objektum található.

Tehát ezzel az RMI végéhez érünk cikk. Remélem, informatívnak találta, és segített az alapok megértésében.

Nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Azért vagyunk itt, hogy segítséget nyújtsunk utazásának minden lépésében, hogy a java interjú kérdései mellé válva egy tananyagot állítsunk össze, amelyet azoknak a hallgatóknak és szakembereknek tervezünk, akik szeretnének egy Jáva Fejlesztő. A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Java programozásban, és képezze mind az alapvető, mind a fejlett Java koncepciókhoz, valamint a különböző Java keretrendszerekhez, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg ennek a cikknek a „RMI Java-ban” megjegyzés szakaszában és a lehető leghamarabb kapcsolatba lépünk Önnel.