Java Naming and Directory Interface : interface de nommage et d'annuaire.
Définir une API Java standard d'accès aux annuaires et services de nommage.
JNDI est structurée en :
JNDI est donc indépendante du véritable annuaire ou service de nommage sous-jaçent. Afin de trouver ce service et communiquer avec celui-ci, elle a besoin d'au moins 2 informations :
JNDI est incluse dans J2SE depuis J2SE 1.3.
JNDI utilise le package standard javax.naming.
Les noeuds dans l'arbre de nommage sont représentés par l'interface Context. Une implémentation
particulière d'un contexte est l'InitialContext, responsable d'établir la communication initiale avec
le service en question. A son instanciation, ce contexte initial va rechercher les propriétés java.naming.factory.initial
et java.naming.provider.url dans des propriétés Java :
java -Djava.naming.factory.initial=<em>telleValeur</em>
-Djava.naming.provider.url=<em>telleAutreValeur</em>ou par programmation via
System.setProperty())jndi.properties accessible dans le classpathUn exemple de connexion à un annuaire LDAP de Sun est :
Properties namingProperties = new Properties();<br> namingProperties.put
(<strong>Context</strong>.<strong><strong>INITIAL_CONTEXT_FACTORY</strong>, </strong><span class="codeString">"com.sun.jndi.ldap.LdapCtxFactory<strong>"</strong></span>);<br>
namingProperties.put (<strong>Context</strong>.<strong>PROVIDER_URL, </strong><span class="codeString">"ldap://myldaphost:389/o=javaromeCorp"</span>);<br>
InitialContext namingContext = new InitialContext(namingProperties);
| Version | 1 | Commentaire | ||||
|---|---|---|---|---|---|---|
| Release | 0 | 1 | 2 | |||
| Couche | Technologie | Fixpack | 1 | |||
| port | 900 par défaut pour RMI/IIOP, réservé sur Solaris (> 1024) | |||||
| Propriétés systèmes | Standard | Fabrique de contexte initiale | java.naming.factory.initial |
valeur com.sun.jndi.cosnaming.CNCtxFactory non supportée avant JNDI 1.2 | ||
| URL du service de nommage | java.naming.provider.url |
iiop://<hostname>:900 | ||||
| Propriétaire | ||||||
Des exemples de pilotes JNDI sont :