RMI (Java): Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
K
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 2: Zeile 2:
  
 
Jeder Server für RMI muss von {{JAPI|UnicastRemoteObject}} abgeleitet sein sowie ein [[Interface]] implementieren, dass die Schnittstellen für ihn beinhaltet. Dieses Interface muss wiederum von {{JAPI|Remote}} abgeleitet sein
 
Jeder Server für RMI muss von {{JAPI|UnicastRemoteObject}} abgeleitet sein sowie ein [[Interface]] implementieren, dass die Schnittstellen für ihn beinhaltet. Dieses Interface muss wiederum von {{JAPI|Remote}} abgeleitet sein
<code=java>
+
<syntaxhighlight lang="java">
 
public class RMIListener extends UnicastRemoteObject implements AlarmServer
 
public class RMIListener extends UnicastRemoteObject implements AlarmServer
 
{
 
{
 
   public RMIListener() throws RemoteException
 
   public RMIListener() throws RemoteException
 
   {}
 
   {}
 +
 
   public boolean addAlarm(AlarmElement el) throws RemoteException
 
   public boolean addAlarm(AlarmElement el) throws RemoteException
 
   {
 
   {
Zeile 12: Zeile 13:
 
   }
 
   }
 
}
 
}
</code=java>
+
</syntaxhighlight>
 
Das Interface sieht wie folgt aus
 
Das Interface sieht wie folgt aus
<code=java>
+
<syntaxhighlight lang="java">
 
public interface AlarmServer extends Remote
 
public interface AlarmServer extends Remote
 
{
 
{
 
   public boolean addAlarm(AlarmElement el) throws RemoteException;
 
   public boolean addAlarm(AlarmElement el) throws RemoteException;
 
}
 
}
</code=java>
+
</syntaxhighlight>
 
Jede Methode und der Konstruktor '''muss''' die {{JAPI|RemoteException}} werfen.
 
Jede Methode und der Konstruktor '''muss''' die {{JAPI|RemoteException}} werfen.
  

Aktuelle Version vom 26. Juni 2018, 22:36 Uhr

Remote Method Invocation, RMI ist eine Implementierung von Java für verteilte Anwendungen. Dabei existiert eine RMI-Registry, bei der sich alle Server registrieren sowie die Server und Clients.

Jeder Server für RMI muss von UnicastRemoteObject abgeleitet sein sowie ein Interface implementieren, dass die Schnittstellen für ihn beinhaltet. Dieses Interface muss wiederum von Remote abgeleitet sein

public class RMIListener extends UnicastRemoteObject implements AlarmServer
{
  public RMIListener() throws RemoteException
  {}

  public boolean addAlarm(AlarmElement el) throws RemoteException
  {
    return true;
  }
}

Das Interface sieht wie folgt aus

public interface AlarmServer extends Remote
{
  public boolean addAlarm(AlarmElement el) throws RemoteException;
}

Jede Methode und der Konstruktor muss die RemoteException werfen.

Eine kleine RMI-Beispiel-Anwendung wird im Artikel RMI minimal vorgestellt.