0
Bonjour, je m'amuse depuis quelques jours avec les EJB 3.0, et je dois dire que, autant les coder me semble relativement simple, autant les déployer est une toute autre histoire !!
Supposons une classe EJB nommée model.UsineBean
Dans sa déclaration, j'ai précisé
@Stateless(name="Usine")
Pour utiliser cet EJB depuis une application web, je dois d'abord le récuperer du context du serveur.
Pour se faire, sous JDeveloper et son serveur embarqué OC4J, je passe par un code de ce genre :
usine = (Usine) ctx.lookup("Usine");
Si je veux déployer sous Sun Application Server, je dois utiliser
usine = (Usine) ctx.lookup("model.Usine");
Pour déployer sous JBoss, je n'ai toujours pas trouvé quel nom il veut.
J'ai tenté, en vrac:
"Usine", "UsineBean", "Usine/remote", "UsineBean/remote", etc.
Rien n'y fait, je n'y pige plus rien... Comment s'assurer du nom du bean une fois mis dans le contexte serveur ?
En fait, quand j'ajoute mon fichier jar contenant l'EJB, le serveur ne semble pas réagir, alors que quand j'ajoute le fichier .ear de mon appli web, là il la voit et la démarre. Peut être que mon EJB n'est tout simplement pas JBoss Compliant ? J'ai tenté d'ajouter dans le classpath de mon EJB les lib de JBoss comme j'ai pu lire quelque part, mais ca n'a pas changé grand chose...
Si quelqu'un à déjà rencontré les mêmes problèmes...
Merci pour l'aide
> Lire le message (6 commentaires, moyenne: 1,7).
Vous avez demandé le commentaire #741168.


précision
J'ai pas précisé, mais quand JBoss rale, c'est pour dire :
15:22:45,703 INFO [STDOUT] javax.naming.NameNotFoundException: Usine not bound
le python, c'est bon
[ Répondre ]
[^]Re: précision
J'ai orienté mon enquête vers le fichier ejb-jar.xml que je n'avais pas dans mon jar.
Désormais j'ai :
15:57:58,859 ERROR [MainDeployer] Could not create deployment: file:/E:/jboss-4.0.3SP1/server/default/deploy/ejb1.jar
org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:575)
C'est plutôt une bonne nouvelle, puisque désormais JBoss voit mon jar quand je le dépose dans /deploy
Le contenu de mon ejb-jar.xml est :
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC
'-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN'
'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>Usine</ejb-name>
<home>model.UsineLocal</home>
<remote>model.Usine</remote>
<ejb-class>model.UsineBean</ejb-class>
<!-- or Stateless -->
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
le python, c'est bon
[ Répondre ]