Je comprends que Merci beaucoup. P> java: comp / env code> est le nœud de l'arborescence JNDI où vous pouvez trouver des propriétés pour le composant Java EE actuel (une webApp ou un EJB), et aussi je sais que Chaque EJB a son propre environnement de composant, il existe également Java: global code> et Java: app code> et un java: module code> en fonction de cela que j'ai Questions P>
contexte envContext = (contexte) initContext.lookup ("Java: comp / env"); Code> Pour obtenir InitContext Quel contexte je reçois exactement (global, application, module, webapp ou ejb Contexte)? Li>
Java: Comp / env code>? li>
ol>
4 Réponses :
- Quand j'utilise contexte envContext = (contexte) initContext.lookup ("Java: Comp / env"); Pour obtenir InitContext Quel contexte je reçois exactement (global, application, module, WebApp ou EJB)? LI> ol> blockQuote>
Vous obtenez celui que vous avez demandé, celui que vous avez correctement décrit comme «le composant Java EE actuel (une webApp ou un EJB)». P>
- Il y a certaines règles appliquées pour la recherche de différentes étendues? LI> ol> blockQuote>
Vous recherchez dans la portée que vous spécifiez. Je ne sais pas ce que votre question pourrait signifier d'autre. P>
- Disons que j'ai une application Web avec de nombreux EJBS, cela signifie-t-il que j'ai de nombreux contextes initiaux (un pour WebApp et un pour chaque EJB) ou toutes ces ressources sont collectées sous un contexte Java: Comp / env? < / li> ol> blockQuote>
La question n'a pas de sens. Vous avez autant de
initialcontextes code> comme vous le créez. Ce sont des objets. ce qu'ils font référence à em> dépend de ce que vous recherchez dans em> queinitialContext code>. Si vous continuez à rechercher", le composant Java EE actuel (WebApp ou un EJB)" code>, vous continuerez à obtenir exactement cela. Toutes les "ces ressources" sont "collectées" sous leurs propres noms respectivement, dans em>Java: comp / env code>. P>.
Merci EJP.Le première et la troisième question, je veux dire qu'il existe IntialisContext pour la WebApp et Anther One pour les composants EJB et d'autres que je ne connais pas. La deuxième question que je connaisse sur quatre nœuds 'Java: Comp / env' 'Java: Global' 'Java: App' 'Java: Module' à quel ordre JNDI recherchera la ressource?
Citation de la documentation de la Tomee http://tomee.apache.org/ Recherche d'une autre-EJBS-Exemple.html P>
Dans une webApp, l'espace de nom Java: Comp / env est partagé par tous les servlets. Ceci est essentiellement équivalent à la Java: Espace de noms de module dans Java Ee 6. Comprendre qu'il y a un conflit dans la définition ici et que pour EJBS, Java: Comp est scopé au composant (l'EJB elle-même) et non le module comme avec webapps. p> blockQuote>
- Il y a certaines règles appliquées pour la recherche de différentes étendues? LI> ol>
citant de Javaee 6 tutoriel http: // docs .oracle.com / CD / E19798-01 / 821-1841 / GIRGN / INDEX.HTML P>
Le Java: Espace de noms JNDI global est la façon portable de trouver une télécommande haricots d'entreprise utilisant des recherches JNDI. Le Java: Espace de noms de module est utilisé Rechercher des haricots d'entreprise locaux dans le même module. Les Java: L'espace de noms des applications est utilisé pour rechercher les haricots d'entreprise locaux emballés dans la même application. C'est-à-dire que le haricot d'entreprise est emballé dans un fichier d'oreille contenant plusieurs modules Java EE. P> blockQuote>
- Disons que j'ai une application Web avec de nombreux EJBS, cela signifie-t-il que j'ai de nombreux contextes initiaux (un pour WebApp et un pour chaque EJB) ou toutes ces ressources sont collectées sous un contexte Java: Comp / env? < / li> ol>
Basé sur des liens ci-dessus, vous n'aurez pas beaucoup de contextes. P> blockQuote>
aussi loin de mes connaissances par défaut, la portée sera globale p>
Concernant la question 3 sur la portée de traditionnellement (avant JEE 6) Java: Comp / env Code> en présence de EJBS. Java: Comp / env Code> était module Niveau pour Guerre Code> Modules et Niveau EJB pour EJBS In JAR code> Modules.
Dans ce modèle, il faut définir des entrées d'environnement (via ressource-ref code> et env-entrée code> dans ejb-jar.xml code> ou pour la ressource -refs depuis que jee5, on pourrait utiliser @resource code> au niveau de la classe) pour chaque EJB. P> <web-app>
<env-entry>
<env-entry-name>entry1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>value1</env-entry-value
</env-entry>
</web-app>