Frage zu JNDI / RMI

Status
Nicht offen für weitere Antworten.

Grizzly

Top Contributor
Ich beschäftige mich gerade mit JNDI und RMI. Aber irgendwie ist mir JNDI noch nicht ganz klar.

Soweit ich das verstanden habe, kann ich über JNDI ein Objekt oder eine Referenz auf ein Objekt (wobei die Referenz auch ein Objekt ist ;) ) in einem Namensdienst (bspw. DNS, LDAP oder das Dateisystem) hinterlegen und von dort auch wieder abrufen. Wenn ich das Objekt abrufe und dessen Werte ändere, werden diese nicht Änderungen nicht in das Objekt, das im Namensdienst hinterlegt ist, aufgenommen. Alle Operationen auf das Objekt werden im Programm und nicht im Namensdienst aufgerufen. Will ich die neuen Werte des Objekts im Namensdienst speichern, muss ich das geänderte Objekte im Namensdienst rebinden.

Über RMI kann ich das registrierte Objekt ändern. Dabei werden sämtliche Methoden direkt auf dem Rechner ausgeführt, der das Objekt bereitstellt.

Ein Kommunikation ist also nur über RMI möglich, über JNDI nicht (außer man rebinden das Objekt ständig, wobei hier das Transaktionsmanagement bzw. die Synchronisation komplett fehlt).

Habe ich das so richtig verstanden?
 

Bleiglanz

Gesperrter Benutzer
soweit ganz richtig, aber:

es gibt eigentlich KEINE Analogie zwischen

RMI (entfernter Methodenaufruf auf ein Objekt am "Server")

JNDI (objekte suchen per "namen" in hierarchischer "struktur")

Die beiden Technologien haben nichts miteinander zu tun und völlig verschiedene Anwendungsgebiete, ausser dass man JNDI verwenden kann, um an RMI-Ressourcen heranzukommen

Denk einfach an JNDI=LDAP, das ist optimiert für ständiges Lesen (schreiboperationen sind eher selten :)
 

Grizzly

Top Contributor
Mir ging es mehr darum, das man mit RMI Attribute von entfernten Objekten ändern kann, über JNDI nicht (beim DNS kann ich ja normalerweise auch nicht das Mapping zwischen einem Namen und einer IP-Adresse ändern).
 

Bleiglanz

Gesperrter Benutzer
kannst du so nicht verallgemeinern (jndi ist nur ein "lookup")

Beispielsweise erhälts du in der EJB-Welt deine Enterprise Beans immer über JNDI-Lookups, diese kannst du aber (z.B. bei statefull session beans oder entity beans) sehr wohl "verändern"

Es ist eben dann so, dass du in diesem Fall via JNDI einfach ein sog. handle auf ein "echtes manipulierbares serverseitiges objekt" zurückbekommst

du verwechselt da wohl ein bisschen den "Eintrag im JNDI Directory" (den man im allgemeinen nicht so oft verändern muss, oft ist das sogar read-only) und dem Objekt, das man durch einen Lookup erhält. Der JNDI Baum selbst ist kein Datenspeicher bzw. soll nicht als socher genutzt werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Frage zu JNDI Netzwerkprogrammierung 2
J Frage zum Keystore Netzwerkprogrammierung 21
E Socket Frage Netzwerkprogrammierung 6
T Frage bzgl. Socket-API Netzwerkprogrammierung 1
C Jetty 9 Non Blocking Handler Frage... Netzwerkprogrammierung 1
O log4j Appender Frage Netzwerkprogrammierung 6
T Frage zu Client-Server Applikation Netzwerkprogrammierung 2
M Theoretische Frage zu Server - Client Netzwerkprogrammierung 2
C Frage zu Threads & Server Netzwerkprogrammierung 4
P Eine etwas andere Frage: Sicherheit Netzwerkprogrammierung 5
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
M allgemeine Frage zu einem Web Service Client Netzwerkprogrammierung 2
Q Frage zur Socketprogrammierung Netzwerkprogrammierung 12
D HTTP Frage zu Login & Session ID Netzwerkprogrammierung 5
D HTTP nochne frage zu http requests Netzwerkprogrammierung 6
D "Fileserver" Frage + Mit Java zugreifen Netzwerkprogrammierung 9
S Socket-Frage zu einem LAN-Spiel. Netzwerkprogrammierung 3
Helgon Socket Socket IP Frage + Tutorial/Bücher Netzwerkprogrammierung 5
C Webservice Frage Netzwerkprogrammierung 2
M RMI Code Frage: Netzwerkprogrammierung 4
C Frage zur Klasse DatagramPacket Netzwerkprogrammierung 2
S Einfache Server Frage Netzwerkprogrammierung 5
xDarkSunx Kleine Frage authentifizierung Netzwerkprogrammierung 13
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
H Input-/OutputStream Frage Netzwerkprogrammierung 6
B Frage zu einer Lösung (RMI) Netzwerkprogrammierung 2
X FAQ Frage - Netzwerkgrundlagen - ServerSocket und Socket Netzwerkprogrammierung 4
G Netzwerk IP Frage Netzwerkprogrammierung 4
S NanoHTTPD Server frage Netzwerkprogrammierung 5
E einfache Frage: wie Fehler untersuchen mit Tomcat Netzwerkprogrammierung 5
E Einfache Frage zu servlets und netbeans 6.5 Netzwerkprogrammierung 41
N Frage/Problem mit RMI Netzwerkprogrammierung 3
Kr0e Frage zu SO_TIMEOUT Netzwerkprogrammierung 3
K SCP und die Frage: Wie geh ich damit um? Netzwerkprogrammierung 7
K Frage zum Verhalten von SocketChannel.write(.) Netzwerkprogrammierung 9
G Frage zu Serversocket-Beispiel aus der FAQ Netzwerkprogrammierung 17
A Frage zur Verschlüsselung mit CipherInputStream Netzwerkprogrammierung 7
H Frage zu RMI Netzwerkprogrammierung 4
5 Grundlegende Design-Frage zu Webservices Netzwerkprogrammierung 16
C Frage zur ipcam WVC54GC von linksys ? Netzwerkprogrammierung 1
ven000m Mittlere Wartezeit Frage Netzwerkprogrammierung 5
T Frage bei Irc Verbindung Netzwerkprogrammierung 10
ven000m Frage aus einer mündl. Prüfung - wer kennt die Antwort? Netzwerkprogrammierung 6
S Serveranfrage - allgemeine Frage Netzwerkprogrammierung 2
ven000m Thread Frage Netzwerkprogrammierung 11
D Frage: Buffered Reader --> Wie komm ich an die Daten (Byt Netzwerkprogrammierung 3
H Frage zur Performance Netzwerkprogrammierung 10
flashfactor Frage zu HTML-Response Netzwerkprogrammierung 4
S GEHT DAS? - Nur eine Frage! (Printer Port direkt ansteuern?) Netzwerkprogrammierung 4
K Frage zu Net Send Netzwerkprogrammierung 7
A ServerSocket prinzipielle Frage Netzwerkprogrammierung 5
M generelle Frage zum Versenden Netzwerkprogrammierung 4
L Frage nach Socket Netzwerkprogrammierung 4
E frage zu streams Netzwerkprogrammierung 2
Luma Verschiedene Frage zu nem Netzwerkprog Netzwerkprogrammierung 6
G einfache Frage zu ServerSocket ... Netzwerkprogrammierung 5
G JNDI Netzwerkprogrammierung 2
P JNDI LDAP-SSL Verbindung, Zertifikat wird nicht angezeigt ? Netzwerkprogrammierung 2
B JNDI Verzeichnissbäume suchen Netzwerkprogrammierung 4

Ähnliche Java Themen


Oben