# RMI: Was tun mit Stubs?



## SchlechterInfomatiker (25. Sep 2008)

Hallo,
ich versuche mich sein ein paar Tagen an RMI. Mit dem neuesten Eclipse und den neuesten Java klappt das auch ganz gut. Auf Internetseiten wird allerdings immer wieder darauf hingewiesen dass man früher mit dem Programm *rmic.exe* sogenannte Stubs generiert hat. Ich wollte das nun mal auf altmodische Art machen (also vor Java 1.5) und hab mir also aus meiner Datei "Server.class" eine Datei "Server_Stub.class" erzeugen lassen.

Ich würde gerne wissen was man denn nun mit diesen Stubs anfängt. Die liegen da in meinem Verzeichnis herum aber in meinem Code steht nirgendwo was davon dass ich diese Stubs benutze... 

Was hat man den früher mit den Stubs gemacht? Und vor allem wie? 

Hat mir vielleicht jemand ein Codebeispiel oder weiß mir jemand einen Link wo das gut erklärt ist wie das gemacht wurde?


mfg


----------



## tuxedo (25. Sep 2008)

Das Stub-Ding wird intern von RMI verwendet um den Methodenaufruf von A nach B zu übermitteln. Siehe auch http://de.wikipedia.org/wiki/Remote_Method_Invocation -> zweiter Absatz

Und um etwas Schleichwerbung zu machen: Kennst du SIMON schon?

Gruß
Alex


----------



## SchlechterInformatiker (25. Sep 2008)

Ich hätte früher also einfach diese Stub-Klasse erzeugen lassen müssen und sie dann einfach nur so in dem Verzeichnis herumliegen lassen müssen? Weil an den anderen Dateien werden scheinbar keiner Veränderungen vorgenommen wenn ich *rmic.exe* ausführe. Das erkenne ich an Datum und Uhrzeit. Woher wissen denn die anderen Klassen auf einmal dass sie einen Stub aufrufen müssen wenn niemand solch einen Aufruf dort hinein programmiert (also weder ich, noch nachträglich *rmic.exe*)? Oder rechnen vielleicht *UnicastRemoteObject* bzw. *Remote* einfach damit dass ich eine Stub-Klasse erzeugen lasse?[/b]


----------



## tuxedo (25. Sep 2008)

Die weiteren internas kenn ich auch nicht, hab ich mich nicht weiter mit beschäftigt da es

a) seit 1.5 unnötig ist (da werden die Stubs in der JVM automatisch erzeugt und verwendet)
b) RMI für meine Zwecke (hinter Firewalls und Routers / übers Internet) nicht brauchbar war/ist, weshalb ich ja auch SIMON entwickelt habe um dem ganzen gefrickel aus dem Weg zu gehen.

Gruß
Alex


----------

