JNDI (Java Naming and Directory Interface) ist eine Java-Standarderweiterung, die eine einheitliche Anwendungsprogrammierschnittstelle (Application Programming Interface, API) für den Zugriff auf verschiedene Verzeichnis- und Namensservices bereitstellt.
JMS-Clients durchsuchen mit Hilfe von JNDI einen Namensservice, um Referenzinformationen zu verwalteten Objekten zu erhalten. Verwaltete Objekte sind Objekte des Typs JMS-Verbindungsfactory und JMS-Zieladresse. JMS-Zieladressenobjekte sind Themen und Warteschlangen. Verwaltete Objekte werden von einem Systemadministrator erstellt und konfiguriert.
Die Dokumentation des JMS-Providers enthält Informationen zur Erstellung und Konfiguration der von JNDI verwalteten Objekte. Wenn Sie den JMS-Provider von WebSphere MQ verwenden, halten Sie sich an die Beispieldatei mit JMSAdmin-Definitionen, die im Rahmen von WebSphere MQ bereitgestellt wird. Lesen Sie außerdem das Handbuch WebSphere MQ Using Java.
Die von JNDI verwalteten Objekte werden in den Bindungen gespeichert. Dies kann auf dem Dateisystem oder auf LDAP basieren. LDAP (Lightweight Directory Access Protocol) ist ein Softwareprotokoll, das jedem Benutzer die Suche nach Organisationen, Einzelpersonen und sonstigen Ressourcen ermöglicht; so können beispielsweise Dateien und Geräte in einem Netz (im öffentlichen Internet oder einem unternehmensinternen Intranet) gesucht werden.
LDAP gehört zu X.500, einem Standard für Verzeichnisservices in einem Netz.
Ein Namensservice ordnet Namen dezentralen Objekten zu, damit die verwalteten Objekte nach Namen gesucht werden können und die Suche nicht auf Basis komplexer Netzadressen erfolgen muss. JNDI stellt eine Abstraktion bereit, die die Spezifikationen des Namensservice verdecken. Auf diese Weise werden Clientanwendungen portierbarer.
Ein JMS-Client gibt einen JNDI-Ausgangskontext an, um eine JNDI-Verbindung zum JMS-Messaging-Server herzustellen. Der Ausgangskontext ist der Ausgangspunkt im jeder JNDI-Suchfunktion und fungiert als Root eines Dateisystems. Der verwendete JMS-Verzeichnisservice bestimmt die Eigenschaften, die zur Erstellung eines Ausgangskontextes eingesetzt werden.