impossible de trouver mes haricots à l'aide de la InitialContext.lookup() la méthode
J'ai essayé d'utiliser struts 1.3 API pour réaliser une petite application avec les EJB 3.0. Malheureusement je ne peux pas utiliser le @EJB annotation d'appeler mon haricot objet de l'intérieur de ma classe de l'action. J'ai résolu ce problème en utilisant différentes solutions de contournement ( la première est d'utiliser mon nom jndi global de mon haricot et l'autre est d'appeler à un autre de la classe de première et utiliser le @EJB annotation à partir de cette classe). Toujours ces deux solutions de contournement avoir des inconvénients. Je voudrais appeler mon EJB directement à partir de ma classe de l'action. J'ai lu beaucoup d'exemples à l'aide de la "java:comp/env/beanName" nom JNDI mais n'arrive pas à comprendre comment le faire et obtenir le nom est introuvable axception.
Laissez-le nom complet de la locale de l'EJB classe du com.ejb.myEjbPackage.MyEJBLocal, comment puis-je l'appeler à l'aide du contexte de recherche? (puis-je le faire sans modification de l'un des web.xml et sun-web.xml descripteurs?)
Je suis à l'aide de glassfish server et Netbeans IDE.
Je vous remercie à l'avance
Vous devez vous connecter pour publier un commentaire.
@EJB ne fonctionnera pas dans une norme pojo il ne peut être fait dans un objet géré (c'est à dire une autre session bean)
Donc...
Voici votre bean
Voici votre recherche
Vous pouvez faire plus de lecture sur la mappedName de voir si vous voulez l'utiliser ou pas.
J'ai trouvé la réponse :
Si vous ne pouvez pas utiliser les EJB annotations dans la classe que vous souhaitez appeler le bean, alors :
Si vous ne voulez pas salir avec des descripteurs XML pour définir votre bean , vous devez le faire dans le bean de la classe elle-même.
J'ai donc utilisé l'annotation suivante dans le GameBean classe
La beanName est facultatif. L'annotation doit être déclarée dans la ligne au-DESSUS de la déclaration de la classe.
Puis, afin d'appeler l'haricot de l'autre classe, vous pouvez faire