Kas yra „Java“ nuotolinio metodo iškvietimas?

Šiame straipsnyje apie „Java“ RMI bus paaiškinta, kaip įdiegti nuotolinio metodo iškvietimo sąsają kliente ir serveryje kartu su praktiniu pavyzdžiu.

Nuotolinio metodo iškvietimas yra būdas, kuriuo naudojasi programuotojas ir jo vystymosi aplinka nuotoliniu būdu. Viskas apie tai, kaip objektai skirtinguose kompiuteriuose sąveikauja paskirstytame tinkle. Šiame straipsnyje apie „Java“ nuotolinio metodo iškvietimą aš jums pasakysiu, kaip sukurti kliento ir serverio RMI programą.

Šiame straipsnyje aptariamos šios temos:





Pradėkime!

kaip mesti dvigubą int

Kas yra „Java“ RMI?

RMI (Nuotolinio metodo iškvietimas) yra API, suteikianti mechanizmą, kaip sukurti paskirstytą programą . RMI leidžia objektui iškviesti metodus objekte, veikiančiame kitame . Nuotolinio metodo iškvietimas suteikia nuotolinį ryšį tarp programų, naudojant du objektus stub ir skeletas .



Suprasti Stubą ir skeletą

Kliento mašinoje esantis „stub“ objektas sukuria informacijos bloką ir siunčia šią informaciją į serverį. Bloką sudaro:

  • Naudojamo nuotolinio objekto identifikatorius
  • Metodo pavadinimas, kurį reikia naudoti
  • Nuotolinio JVM parametrai

Stubas ir skeletas - RMI „Java“ - „Edureka“Skeleto objektas

Skeleto objektas perduoda užklausą iš „stub“ objekto į nuotolinį objektą. Ji atlieka šias užduotis:



  • Jis iškviečia norimą metodą realiame objekte, esančiame serveryje.

  • Jis perduoda parametrus, gautus iš „stub“ objekto, metodui.

Tai leiskite judėti toliau ir sužinoti, kaip sukurti RMI programą

RMI programos sukūrimo veiksmai

Žemiau pateikiami veiksmai padės jums sukurti RMI programą:

  1. Nuotolinio valdymo pulto apibrėžimas sąsaja
  2. Nuotolinės sąsajos diegimas
  3. Kūrybų ir griaučių kūrimas objektai iš diegimo klasės naudojant RMIC (RMI reikalavimus)
  4. Paleiskite RMI registrą
  5. Sukurkite ir vykdykite serverio programos programą
  6. Sukurkite ir vykdykite kliento programos programą

Dabar pasidomėkime šių veiksmų detalėmis.

1 žingsnis: Nuotolinės sąsajos apibrėžimas

Pirmas dalykas, kurį turime padaryti, yra sukurti sąsaja . Tai pateiks metodų, kuriais gali pasinaudoti nuotoliniai klientai, aprašymą. Ši sąsaja turėtų išplėsti nuotolinę sąsają, o metodo prototipas sąsajoje turėtų išmesti „RemoteException“.

// Paieškos sąsajos sukūrimas importuokite java.rmi. * Viešoji sąsaja Paieška praplečia nuotolinio valdymo pultą {// Metodo prototipo deklaravimas viešosios eilutės užklausa (eilutės paieška) išmeta „RemoteException“}

2 žingsnis: Nuotolinės sąsajos diegimas

Kitas žingsnis - įdiegti nuotolinę sąsają. Norint įdiegti nuotolinę sąsają, klasė turėtų išplėsti į „Java.rmi“ paketo „UnicastRemoteObject“ klasė . Be to, numatytasis statybininkas reikia sukurti norint mesti java.rmi.RemoteException iš jo pirminio konstruktoriaus.

// „Java“ programa, skirta įdiegti paieškos sąsają importuoti java.rmi. * Importuoti java.rmi.server. * Viešoji klasė „SearchQuery“ išplečia „UnicastRemoteObject“ įgyvendina paiešką {// Numatytasis konstruktorius, kuris išmeta „RemoteException“ iš savo pirminio konstruktoriaus „SearchQuery“ )} // Užklausos sąsajos viešosios eilutės užklausa (eilutės paieška) išmeta „RemoteException“ {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}

3 žingsnis: „Stub“ ir „Skeleton“ objektų kūrimas iš įgyvendinimo klasės naudojant „rmic“

RMIC įrankis naudojamas norint iškviesti RMI kompiliatorių, kuris sukuria „Stub“ ir „Skeleton“ objektus. Jo prototipas yra RMIC klasės pavadinimas.

4 ŽINGSNIS: Paleiskite RMIregistrą
Turite paleisti registro tarnybą, komandų eilutėje paleidę komandą „RMIregistry“

5 ŽINGSNIS: sukurkite ir vykdykite serverio programų programą
Kitas žingsnis yra sukurti serverio programos programą ir ją vykdyti atskiroje komandų eilutėje.

  • Serverio programa naudoja createRegistry „LocateRegistry“ klasės metodas sukurti „rmiregistry“ JVM serveryje, perduodant prievado numerį kaip argumentą.

  • Klasės „Naming class“ atkūrimo metodas naudojamas susieti nuotolinį objektą su nauju pavadinimu.

// programa serverio programai importuoti java.rmi. * importuoti java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Sukurti sąsajos diegimo klasės objektą Search obj = nauja SearchQuery () // serverio JVM rmiregistry su // prievado numeriu 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Susieja nuotolinį objektą pavadinimu // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} gaudyti (ae išimtis) {System.out.println (ae)}}}

6 veiksmas: sukurkite ir vykdykite „Client Application“ programą
Paskutinis žingsnis - sukurti „Client Application“ programą ir vykdyti ją atskiroje komandų eilutėje. Klasės pavadinimo metodas naudojamas norint gauti objekto „Stub“ nuorodą

Pirmiau nurodyta kliento ir serverio programa vykdoma tame pačiame kompiuteryje, todėl naudojamas „localhost“. Norint pasiekti nuotolinį objektą iš kitos mašinos, „localhost“ turi būti pakeistas IP adresu, kuriame yra nuotolinis objektas.

Taigi tai mus priveda prie RMI pabaigos straipsnis. Tikiuosi, kad radote tai informatyviai ir padėjote suprasti pagrindus.

Patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. Mes esame čia, kad padėtume jums kiekviename jūsų kelionės žingsnyje, kad taptume be šių „Java“ interviu klausimų, mes parengėme mokymo programą, skirtą studentams ir specialistams, norintiems būti „Java“ Programuotojas. Kursas sukurtas tam, kad galėtumėte pradėti žaisti „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio straipsnio „RMI in Java“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.