Felhasználói eszközök

Eszközök a webhelyen


tanszek:oktatas:informacios_rendszerek_integralasa:java_rmi

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalon Előző változat
Következő változat
Előző változat
tanszek:oktatas:informacios_rendszerek_integralasa:java_rmi [2023/05/04 21:20]
knehez
tanszek:oktatas:informacios_rendszerek_integralasa:java_rmi [2023/05/05 15:56] (aktuális)
knehez
Sor 1: Sor 1:
 ===== Egyszerű Java-RMI példa ===== ===== Egyszerű Java-RMI példa =====
  
-Használjuk ​java 11-el kompatibilis módot.+Telepítsük ​gradle-t innen: https://​gradle.org/​releases/​ 
 +A //bin// könyvtárat adjuk hozzá a //​PATH//​-hoz.
  
-1.) Definiáljuk az RObject interfészeketmindkettő implementálja a Remote interfészt+A teljes forráskód elérhető itt: 
 +<​code>​ 
 +git clone https://​github.com/​knehez/​isi.git 
 +cd java_rmi 
 +</​code>​ 
 + 
 +Nyissunk két termináltaz egyikben:
  
 <​code>​ <​code>​
 +gradle runRegisterService
 +</​code>​
 +
 +A másikban:
 +<​code>​
 +gradle run
 +</​code>​
 +
 +A program részletesen:​
 +
 +1.) Definiáljuk az RObject interfészeket,​ mindkettő implementálja a Remote interfészt
 +
 +<code java>
 package org.ait; package org.ait;
 import java.rmi.*; import java.rmi.*;
Sor 20: Sor 40:
 2.) Implementáljuk a távoli objektumok kódját 2.) Implementáljuk a távoli objektumok kódját
  
-<​code>​+<​code ​java>
 package org.ait; package org.ait;
 import java.rmi.RemoteException;​ import java.rmi.RemoteException;​
Sor 48: Sor 68:
 4.) Hozzuk létre egy példányát a távoli objektumnak és kössük hozzá a registry-hez 4.) Hozzuk létre egy példányát a távoli objektumnak és kössük hozzá a registry-hez
  
-  import ​java.rmi.Naming;​ +<​code ​java> 
-   +package ​org.ait; 
-  import ​org.ait.RObject+ 
-  import ​org.ait.RObjectImpl+import ​java.rmi.Naming
-   + 
-  ​ +public class RegisterService {
-  public class RegisterService {+
  /**  /**
  * @param args  * @param args
Sor 60: Sor 79:
  public static void main(String[] args) {  public static void main(String[] args) {
  try {  try {
-   ​RObject robj = new RObjectImpl();​ + RObject robj = new RObjectImpl();​ 
-   ​Naming.rebind("​rmi://​localhost:​1099/​RObjectServer",​ robj); + Naming.rebind("​rmi://​localhost:​1099/​RObjectServer",​ robj); 
-                          System.out.println("​Registered..."​);​ + System.out.println("​Registered..."​);​ 
- } catch (Exception e) { + } catch (Exception e) { 
-   ​e.printStackTrace();​ + e.printStackTrace();​ 
- }+ }
  }  }
-  ​}+} 
 +</​code>​ 
 + 
 +Indítsuk el a RegisterService-t,​ ha fut a rmiregistry,​ csak akkor fog tudni regisztrálni.
  
 5.) Használjuk a távoli objektumot 5.) Használjuk a távoli objektumot
  
-  ​import java.rmi.Naming;​ +Indítsuk el az alábbi kódot. 
-   + 
-  public class Client { +<code java> 
-      public static void main(String[] args) { +package org.ait; 
-          try { + 
-              // Távoli objektum lekérése a registry-ből +import java.rmi.Naming;​ 
-              RObject robj = (RObject) Naming + 
-                      ​.lookup("​rmi://​localhost:​1099/​RObjectServer"​);​ +public class Client { 
-   + public static void main(String[] args) { 
-              // Egyszerű argumentum + try { 
-              robj.primitiveArg(2012);​ + // Távoli objektum lekérése a registry-ből 
-   + RObject robj = (RObject) Naming.lookup("​rmi://​localhost:​1099/​RObjectServer"​);​ 
-              // Serilaizált argumentum + 
-              robj.argumentByValue(new Integer(2012));​ + // Egyszerű argumentum 
-   + robj.primitiveArg(2012);​ 
-          } catch (Exception e) { + 
-              e.printStackTrace();​ + // Serilaizált argumentum 
-              + robj.argumentByValue(new Integer(2012));​ 
-          + 
-      + } catch (Exception e) { 
-  }+ e.printStackTrace();​ 
 +
 +
 +
 +} 
 +</​code>​
  
  
tanszek/oktatas/informacios_rendszerek_integralasa/java_rmi.1683235220.txt.gz · Utolsó módosítás: 2023/05/04 21:20 szerkesztette: knehez