Das javanische Namengeben und die Verzeichnisschnittstelle

Das javanische Namengeben und die Verzeichnisschnittstelle (JNDI) sind eine javanische API für einen Verzeichnisdienst, der javanischen Softwarekunden erlaubt, zu entdecken und Daten und Gegenstände über einen Namen nachzuschlagen. Wie das ganze Java sind APIs, die mit Gastgeber-Systemen, JNDI verbinden, der zu Grunde liegenden Durchführung unabhängig. Zusätzlich gibt es eine Dienstleister-Schnittstelle (SPI) an, die Verzeichnisdienstdurchführungen erlaubt, ins Fachwerk eingesteckt zu werden. Es kann von einem Server, einer flachen Datei oder einer Datenbank Gebrauch machen; die Wahl ist bis zum Verkäufer.

Hintergrund

Die JNDI API wird durch Java RMI und Java EE APIs verwendet, um Gegenstände in einem Netz nachzuschlagen. Jini hat seinen eigenen lookup Dienst und verwendet die JNDI API nicht.

Die API stellt zur Verfügung:

  • ein Mechanismus, einen Gegenstand zu einem Namen zu binden
  • ein Verzeichnis lookup Schnittstelle, die allgemeine Abfragen erlaubt
  • eine Ereignis-Schnittstelle, die Kunden erlaubt zu bestimmen, als Verzeichniseinträge modifiziert worden sind
  • LDAP Erweiterungen, um die zusätzlichen Fähigkeiten zu einem LDAP Dienst zu unterstützen

Der SPI Teil erlaubt Unterstützung für praktisch jede Art des Namengebens oder Verzeichnisdienstes einschließlich:

Die JNDI Spezifizierung wurde zuerst durch Sonne-Mikrosysteme am 10. März 1997.http://www.sun.com/smi/Press/sunflash/1997-03/sunflash.970310.10204.html veröffentlicht, die jetzige Version ist JNDI 1.2.

Grundlegender lookup

JNDI (das javanische Namengeben und die Verzeichnisschnittstelle) organisiert seine Namen in eine Hierarchie. Ein Name kann jede Schnur solcher als "com.mydomain.ejb sein. MyBean". Ein Name kann auch ein Gegenstand sein, der die Schnittstelle unterstützt, jedoch ist eine Schnur die allgemeinste Weise, einen Gegenstand zu nennen. Ein Name wird zu einem Gegenstand im Verzeichnis durch die Speicherung entweder des Gegenstands oder einer Verweisung auf den Gegenstand im durch den Namen identifizierten Verzeichnisdienst gebunden.

Die JNDI API definiert einen Zusammenhang, der angibt, wo man nach einem Gegenstand sucht. Der anfängliche Zusammenhang wird normalerweise als ein Startpunkt verwendet.

Im einfachsten Fall muss ein anfänglicher Zusammenhang mit der spezifischen Durchführung und den durch die Durchführung erforderlichen Extrarahmen geschaffen werden. Der anfängliche Zusammenhang wird verwendet, um einen Namen nachzuschlagen. Der anfängliche Zusammenhang ist der Wurzel oder Spitze eines Verzeichnisbaums für ein Dateisystem analog. Unten ist ein Beispiel, einen anfänglichen Zusammenhang zu schaffen:

Hashtable contextArgs = neuer Hashtable ;

//Zuerst müssen Sie die Zusammenhang-Fabrik angeben.

//Das ist, wie Sie zwischen der jboss Durchführung wählen

//gegen eine Durchführung von der Sonne oder den anderen Verkäufern.

contextArgs.put (Zusammenhang. INITIAL_CONTEXT_FACTORY, "com.jndiprovider. TheirContextFactory");

//Das folgende Argument ist die URL-ADRESSE, die angibt, wo der Datenladen ist:

contextArgs.put (Zusammenhang. PROVIDER_URL, "Jndiprovider-Datenbank");

//(Sie können auch Sicherheitsausweis zur Verfügung stellen müssen)

//Als nächstes schaffen Sie den anfänglichen Zusammenhang

Zusammenhang myCurrentContext = neuer InitialContext (contextArgs);

</Quelle>

Ein Zusammenhang wird dann verwendet, um vorher gebundene Namen in diesem Zusammenhang nachzuschlagen. Zum Beispiel:

MyBean myBean = (MyBean) myCurrentContext.lookup ("com.mydomain. MyBean");

</Quelle>

Die Alternative zum obengenannten Code ist als unten:

Der Zusammenhang-Gegenstand kann auch durch das Hinzufügen jndi.properties der Datei in classpath konfiguriert werden, der anfänglichen Zusammenhang-Fabrikklassennamen und Versorger-URL-ADRESSE enthält. Der obengenannte Code, wird wie gezeigt, unten reduziert:

//gerade Bedürfnis, anfänglichen Zusammenhang-Gegenstand zu schaffen, wird es versuchen, jndi.properties Datei von//classpath zu lesen.

Zusammenhang myCurrentContext = neuer InitialContext ;

</Quelle>Ein Zusammenhang wird dann verwendet, um vorher gebundene Namen in diesem Zusammenhang nachzuschlagen. Zum Beispiel:MyBean myBean = (MyBean) myCurrentContext.lookup ("com.mydomain. MyBean");</Quelle>

Suche

Attribute können speziellen Einträgen genannt Verzeichnisse beigefügt werden. Verzeichnisse ermöglichen, nach Gegenständen durch ihre verbundenen Attribute zu suchen. Verzeichnisse sind ein Typ des Zusammenhangs; sie schränken den Namenraum viel wie eine Verzeichnisstruktur auf einem Dateisystem ein tut.

Außenverbindungen


Geschichte Weißrusslands / Hagia Sophia
Impressum & Datenschutz