RMI Stub Skeleton

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo nochmal,

ich hätte eine Designfrage, und zwar habe ich eine fertige Applikation, welche über TCPIP mit dem Programm kommunizieren soll, welches ich jetzt schreibe,

Ich frage mich jetzt, wie es am Besten ist, diese 2 Java- Programme miteinander zu verbinden,
über RMI hab ich einiges gelesen aber das trifft ja auf meinen Fall nicht unbedingt zu, da ich ja nur Daten (Modbus- Protokoll) hin- und herschaufle,

Aber da gibts ja noch das Proxy- Pattern, welches die zugriffe kontrolliert, keine Ahnung ob das bei mir Sinn macht,

Hat vielleicht jemand einen Tipp für mich, wie ich die 2 Programme am professionellsten/zuverlässigsten verbinden kann,
Bei meiner Applikation hab ich mom. eine ganz einfache Socket verbindung mit einer run()- Methode.


Vielen Dank,

lg
 

PollerJava

Top Contributor
Mal anders gefragt,

Kann ich zwei getrennte Projekte haben, welche irgendwie über den Observer miteinander verbunden sind -> beide Projekte sind auf dem gleichen Rechner?
 

byte

Top Contributor
Du kannst so viele Projekte miteinander verbinden, wie Du willst. Die Frage ist, ob sie am Ende in einer JVM laufen oder in mehreren? In zweitem Fall bietet sich RMI an (verteiltes Objektsystem) oder Du löst es proprietär über Sockets, was aber ziemlich nervig ist, wenn man komplexere Objekte übertragen will.
 

PollerJava

Top Contributor
mir ist nicht ganz klar, wie ich 2 Projekte miteinander Verbinde und in einer VM laufen lassen kann, Ich habe im Projekt 1 2 SingletonKlassen -> also 2 Objekte und auf diese möchte ich in Projekt 2 zugreifen (ich brauche also in Projekt 2 zwei Instanzen auf 2 Objekte in Projekt 1)

Funktioniert das irgendwie bzw. wie kann ich das realisieren?
 

byte

Top Contributor
Ich nehme mal an, Du redest von Eclipse-Projekten? Klicke mit rechts auf Dein Projekt, dann Properties -> Java Build Path -> Projects. Dort kannst Du dann andere Projekte verlinken, so dass Du darauf zugreifen kannst.
 

PollerJava

Top Contributor
Ich arbeite mit NetBeans, wie greif ich dann eigentlich dann auf eine Instanz des anderen Projektes zu -> package Importieren und eine Instanz erzeugen????

Vielen Dank für Deine Info,

Wäre eine verbindung der 2 Projekte über RMI um vieles langsamer?


lg
 

byte

Top Contributor
RMI macht da überhaupt keinen Sinn. Wie Du Projekte mit Netbeans verbinden kannst, kann ich Dir nicht sagen, da ich Netbeans nicht benutze. Wird aber ähnlich gehn, wie bei Eclipse.

wie greif ich dann eigentlich dann auf eine Instanz des anderen Projektes zu -> package Importieren und eine Instanz erzeugen????
Du kannst generell auf alles zugreifen, was sich im Classpath der Anwendung befindet, also auch auf andere Projekte, wenn Du sie entsprechend verlinkt hast.
 

PollerJava

Top Contributor
Können dann beide Projekte eine main- Methode haben oder hängen die 2 verlinkten Projekte zusammen und dürfen nur einen Einsprungspunkt (main- Methode) haben?

lg
 

byte

Top Contributor
Wenn Du die Main-Methode startest, dann wird ja ein neuer JVM-Prozess gestartet, der das Programm dann ausführt. Hast Du also zwei Main-Methoden, dann hast Du quasi zwei Programme, also auch zwei JVM-Prozesse. Sollen diese beiden Programme miteinander kommunizieren, so wäre RMI eine Lösungsmöglichkeit.
 

Murray

Top Contributor
Die main-Methode ist eine ganz normale statische Methode, insofern lässt sie sich auch aus einer anderen Klasse heraus aufrufen (und läuft dann natürlich in der gleichen VM). Normalerweise macht man das aber nicht.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben