Pas clair bean EJB nom JNDI sous Weblogic
J'ai fait un petit exemple d'utilisation de weblogic 10.3.6 et EJB 3.0. Définir SimpleService classe, définir weblogic-ejb-jar.xml pour la carte SimpleService classe de nom JNDI, pack comme composant EJB dans l'OREILLE de fichier et de les déployer sur le serveur. Déploiement est réussi et je peux voir bean ejb avec le nom SimpleServiceBean. Après que l'utilisation de l'application autonome se connecter à webloigc serveur par le biais de InitialContext avec tout l'environnement nécessaire attributs j'essaie de recherche qu'bean. Je suppose qu'il sera disponible sous le nom de l'ejb/SimpleService mais ne peuvent pas trouvé sous ce nom, et seulement après j'ai été à la recherche à travers une arborescence JNDI name, j'ai trouvé que c'disponible sous le nom SimpleService#ds/base/ejb/SimpleService. Aide-moi à comprendre ce qui se passe? Comment dois-je configurer bean ejb afin qu'il sera disponible sous ejb/SimpleService comme décrit dans le weblogic manuel? Ou peut-être que c'est un bon nom JNDI de l'EJB bean?
Mes cours et mes configs sont:
ds.de la base.ejb.SimpleServiceBean:
@Stateless(mappedName = "ServiceBean")
@TransactionAttribute(NEVER)
@ExcludeDefaultInterceptors
@Remote(SimpleService.class)
public class SimpleServiceBean implements SimpleService {
...
}
weblogic-ejb-jar.xml
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>ServiceBean</ejb-name>
<jndi-name>ejb/ServiceBean</jndi-name>
<enable-call-by-reference>True</enable-call-by-reference>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
application.xml:
<application>
<display-name>web-app-ear</display-name>
<module>
<ejb>app-ejb-1.0-SNAPSHOT.jar</ejb>
</module>
</application>
Puis essayer de l'obtenir à partir d'autonome:
InitialContext context = new InitialContext(env);
SimpleService simpleService = (SimpleService)
context.lookup("SimpleService#ds/base/ejb/SimpleService");
assert simpleService != null
OriginalL'auteur Mirian | 2013-01-21
Vous devez vous connecter pour publier un commentaire.
il y a une bonne FaQ sur le portail mondial des noms JNDI sur glassfish.org http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#SessionBeanGlobalJNDINameAssignment
Il est préférable de pratiquer de ne PAS attribuer un nom jndi, mais comptez sur ceux définis depuis EE 5 (par exemple SimpleService#ds/base/ejb/SimpleService)
Si vous ajoutez le jndi-name configuration de votre weblogic-ejb-jar.xml vous pourrait effectivement se rendre disponible comme ejb/ServiceBean mais vous devez également définir la "vieille école" de style dans ejb-jar.xml. Plus sur le weblogic-ejb-jar.xml peut être trouvé http://docs.oracle.com/cd/E23943_01/web.1111/e13719/ejb_jar_ref.htm
Il est également une bonne vue d'ensemble sur le dd dans le orcl) docs.
http://docs.oracle.com/cd/E23943_01/web.1111/e13719/understanding.htm#EJBPG129
En supposant que vous travaillez avec 10.3.x server version ...
OriginalL'auteur Markus Eisele
De l'utiliser.
espère que cela aide.
OriginalL'auteur