Java Nom JNDI java:/
Je suis en suivant le tutoriel: https://docs.oracle.com/javase/tutorial/jndi/index.html
Mon aventure a commencé pendant le réglage d'un nom JNDI de la source de données avec le WildFly serveur d'application. Le nom a commencé avec "java:/". J'étais curieux de savoir ce que c'était et comment il a travaillé.
J'ai Apache Directory LDAP configuration du serveur en local et je suis capable de se connecter avec:
Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:10389/o=JNDITutorial");
env.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system");
env.put(Context.SECURITY_CREDENTIALS, "secret");
try {
Context ctx = new InitialContext(env);
Object obj = ctx.lookup("cn=Rosanna Lee,ou=People");
} catch (NamingException e) {
e.printStackTrace();
}
Ma confusion est le nom JNDI "java:/".
Quelqu'un peut-il expliquer ce qu'est "java:/" et comment je peux l'utiliser JNDI pour interagir avec elle?
Mon hypothèse, c'est sa un répertoire situé quelque part sur mon ordinateur.
Merci.
- Prendre un coup d'oeil: docs.jboss.org/author/display/WFLY8/JNDI+Référence
Vous devez vous connecter pour publier un commentaire.
L'explication est dans le nom: JNDI est le "Java Naming and Directory Interface". Il fait partie de la spécification Java EE et fournit une API java pour les clients à découvrir et à surveiller les données et les objets par leur nom. Ces objets sont accessibles via certains contextes, par exemple
ref: http://docs.oracle.com/cd/E19798-01/821-1841/girdr/index.html
Comme Pawel a fait remarquer dans son commentaire, le Wildfly docs sont très utiles ici:
La plate-forme Java EE spécification définit les contextes JNDI:
En plus des espaces de noms, WildFly fournit également les deux suivantes à l'espace de noms global:
Donc "java:/" est juste un espace de noms global (et le contexte) dans Wildfly et devraient être confondu avec un dossier. C'est tout simplement un "nom d'adresse" dans un répertoire pour accéder à des objets et des services comme JDBC, EJB, LDAP, etc.
Pour de plus amples informations, Java EE spec est utile: