-
[JNDI] url de lookup
Bonjour à tous,
Je repose ma question ici car je n'ai pas eu des réponses
concluantes sur le forum J2EE:
J'ai une question que j'arrive pas à résoudre malgrès mes
recherches, c'est à propos de l'url jndi lors de l'appel à lookup().
J'aimerais savoir pourquoi l'on trouve dans certains tutoriaux
une adresse ayant la forme suivante :
"java:comp/env/ejb/MonBean" et parfois "ejb/MonBean"
Personnellement je n'utilise que la deuxième syntaxe car je
n'ai trouvé aucun moyen d'utiliser la première que je trouve plus
"propre"... Quelqu'un peut-il m'éclairer un peu sur ce point ?
Merci d'avance,
Xavier.
Note: C'est pour des EJB2, JDK 1.5 & JBoss 4.0.3SP1
-
Ce sont 2 types de références distinctes:
- la syntaxe "ejb/MonBean" est une référence globale sur le serveur d'application. Depuis EJB 2.0 il est déconseillé d'utiliser celle-ci, il est préférable d'utiliser la référence locale (sauf dans le cas d'un client ne permettant pas de gérer les références locales).
- la syntaxe "java:comp ..." est une référence locale ou indirecte. Elle fait référence à une "reference" du descripteur de déploiement, qui est mappé sur la référence du serveur d'application lors du déploiement. Cela permet de séparer les taches de développements de celles de déploiement (séparartion des rôles proné par J2EE).
En temps normal tu ne devrais utiliser que la seconde syntaxe, d'autant que certains serveurs d'applications (tous ?) permettent de gérer un certain nombre de paramètres avec cette syntaxe, qu'il n'est pas possible d'utiliser avec la syntaxe globale.
J'espère que cela répond à ta question. Mais sinon jette un coup d'oeil aux tutoriaux J2EE, ils doivent surement expliquer cela mieux que moi.
Jacques Desmazières
-
j'y vois déjà + clair
Salut et merci pour ta réponse !
Il me semble aussi que la 2eme syntaxe est plus clair, mais impossible
de m'en servir... J'ai systématiquement une exception. J'ai pas réessayé
depuis un petit moment mais dès que j'ai un moment je retenterais pour
voir ! Pour info j'utilise JBoss 4.0.3SP1 pour le déploiement...
Quelqu'un sait si il est censé supporté la seconde syntaxe ?
merci encore
a+
Xavier
-
Pour JBoss 4 je n'en sais rien, mais le contraire serait très étonnant. Pour cela il te suffit de vérifier la version de la norme EJB implémentée.
Pour utiliser la syntaxe locale, il te faut déclarer une référence JNDI dans ton fichier web.xml (il faut aussi surement ajouter le lien avec la référence réelle dans un descripteur spécifique de JBoss, mais là je ne connais pas). A partir de là tu pourras utiliser la référence locale dans ton conteneur Web.
Jacques Desmazières