Java Naming and Directory Interface

Java Naming and Directory Interface

Java Naming and Directory Interface (JNDI) ist eine Programmierschnittstelle (API) innerhalb der Programmiersprache Java für Namensdienste und Verzeichnisdienste. Mit Hilfe dieser Schnittstelle können Daten und Objektreferenzen anhand eines Namens abgelegt und von Nutzern der Schnittstelle abgerufen werden.

Die Schnittstelle ist dabei unabhängig von der tatsächlichen Implementierung. Vielmehr ist JNDI ein sogenanntes Service Provider Interface (SPI), das Herstellern erlaubt, eigene Lösungen in dieses Framework einzubinden.

In der Praxis wird JNDI vor allem dazu benutzt, im Rahmen von Java-Enterprise-Anwendungen (Java-EE-Anwendungen) verteilte Objekte in einem Netzwerk zu registrieren und sie für Remote-Aufrufe (RMI) weiteren Java-Programmteilen zur Verfügung zu stellen.

Die API enthält:

  • einen Mechanismus zur Bindung eines Objekts an einen Namen
  • Methoden für den Abruf von Informationen anhand eines Namens
  • ein Ereigniskonzept, über das Clients über Änderungen informiert werden
  • spezielle Erweiterungen für LDAP-Funktionalitäten

JNDI erlaubt die Unterstützung praktisch aller Arten von Namens- und Verzeichnisdiensten, insbesondere von:

JNDI Lookup

Lookup (englisch für „Nachschlagen“) ist der Vorgang, mit dem die benannten Objekte ermittelt werden.

In JNDI werden die Namen hierarchisch angeordnet. Namen sind üblicherweise Strings wie „com.mydomain.MyBean“, können aber auch beliebige Objekte sein, die die Schnittstelle javax.naming.Name implementieren. Im Namens- bzw. Verzeichnisdienst ist für jeden Namen entweder das ihm zugeordnete Objekt selbst gespeichert oder eine JNDI-Referenz auf das zugeordnete Objekt. Die Programmierschnittstelle von JNDI („JNDI API“) definiert, wo nach dem Objekt zu suchen ist. Der initiale Kontext ist dafür üblicherweise der Startpunkt.

Im einfachsten Fall genügt ein initialer Kontext, um nach einem Namen zu suchen:

Hashtable args = new Hashtable();
 
// zunächst muss die Kontext-Factory und somit die
// Implementierung des JNDI-Providers definiert werden:
args.put(Context.INITIAL_CONTEXT_FACTORY, "com.jndiprovider.TheirContextFactory");
 
// dann die URL, die definiert wo die Daten zu finden sind:
args.put(Context.PROVIDER_URL, "jndiprovider-database");
 
// damit bekommt man im einfachsten Fall den initialen Kontext:
Context myCurrentContext = new InitialContext(args);
 
// mit Hilfe dieses Kontextes kann man dann Objekte,
// die zuvor an den Kontext gebunden wurden, finden:
Object reference = myCurrentContext.lookup("com.mydomain.MyBean");

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Java Naming and Directory Interface — (JNDI) это Java API, организованный в виде службы каталогов, который позволяет Java клиентам открывать и просматривать данные и объекты по их именам. API предоставляет: механизм ассоциации(связывания) объекта с именем интерфейс в виде директорий… …   Википедия

  • Java Naming and Directory Interface — The Java Naming and Directory Interface (JNDI) is a Java API for directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of… …   Wikipedia

  • Java Naming and Directory Interface — JNDI est une API Java de connexion à des annuaires, notamment des annuaires LDAP. Sommaire 1 Présentation 2 Usages 2.1 Java EE 3 Concepts …   Wikipédia en Français

  • Java (Plattform) — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java Platform, Standard Edition 6 — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java Plattform — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java 2 Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java 2 Platform Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java EE — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java Platform Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”