Bonjour,
Suis-je dans le bon forum ? Ma question concerne la gestion des EJBs 3 par JBoss 7 donc je dirai que oui. Mais ça concerne aussi un peu le dév! J'espère que vous serez indulgents
Pour faire simple, j'ai un serveur JBoss. Un EJB et une application J2EE (une servlet).
1er cas : Mon ejb est contenu dans le war.
Je déclare mon ejb dans ma servlet comme ceci :
Ici aucun problème lorsque je fais appel à l'ejb, ça marche tout est bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 @EJB private HelloEJBLocal helloEJB;
2nd cas : Mon ejb est contenu dans un jar déployé sur le jboss et mon app dans un war séparé.
J'ai cru comprendre que si les deux applications tournent dans la même JVM on pouvait accéder aux EJBs en local.
J'ai donc copié l'interface HelloEJBLocal dans le war et j'ai lancé mon appli. Erreur.
ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 @EJB private HelloEJBLocal helloEJB;
Quand je déploie JBoss m'informe :
j'ai donc testé en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 JNDI bindings for session bean named helloEJB in deployment unit deployment "testEJB.jar" are as follows: java:global/testEJB/helloEJB!ejb.HelloEJBLocal java:global/testEJB/helloEJB!ejb.HelloEJB java:app/testEJB/helloEJB!ejb.HelloEJBLocal java:app/testEJB/helloEJB!ejb.HelloEJB java:module/helloEJB!ejb.HelloEJBLocal java:module/helloEJB!ejb.HelloEJB
rien, erreur d'instantiation de type : could not set field Hello.hello ejb.HelloEJBLocal ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 @EJB(lookup="java:global/testEJB/helloEJB!ejb.HelloEJBLocal") private HelloEJBLocal helloEJB;
Sur internet j'ai cherché j'ai vu très peu d'exemples d'utilisation de l'annotation EJB, j'ai jeté un coup d’œil à la javadoc de cette annotation mais j'ai pas compris grand chose (http://docs.oracle.com/javaee/6/api/javax/ejb/EJB.html)...
Je débute en la matière, si vous pouviez m'éclairer ça serait avec plaisir !
Cordialement,
Partager