|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
Bonsoir a tous ,
j'ai un souci avec la compilation de mon EJB entity , mon EJB se déploie bien mais lors de l’exécution de l'application j'ai le message d'erreur suivant: Code :
voici le main: Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
la stack trace c'est celle côté serveur ?
tu peux montrer ton EJB Entity "Produit" ? |
|
|
00
|
|
|
#3 | |||||
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
Citation:
package com.et; Code :
Code :
|
|||||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
essaye en déclarant ta classe "Produit" dans le fichier "persistence.xml".
Tu peux montrer du fichier "persistence.xml". |
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
fichier persistance.xml
Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
Voici un exemple :
Code :
http://docs.jboss.org/ejb3/app-serve...ityconfig.html |
||
|
|
00
|
|
|
#7 | ||||||
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
toujours rien , je n'arrive pas a localiser l'erreur , a chaque modification j'ai d'autres erreur qui apparaissent.
j'ai envoyé comme fichier joint l'ensemble de mes classe voici aussi le fichier persistance.xml Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
donc déjà ta première exception indique soit que ton EJB Session s'est mal déployé, soit que le nom JNDI que tu donnes n'est pas correct.
|
|
|
00
|
|
|
#9 | ||||
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
Code :
j'ai toujours l'exeption . j'ai bien declaré ma classe dans mon fichier persistance. Code :
|
||||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
Malheureusement tu es sous JBoss avec "client réseau" et ça dépasse le cadre de mes compétences.
Il faut que tu soies sûr de ta chaine JNDI ... ce qui est sûrement le problème. Pour le coup du redéploiement, il faut que le log du déploiement de ton JAR soit "propre". Qu'il n'y ait aucune erreur. Normalement JBOSS devrait te donner le nom JNDI de ton EJB Session déployé ainsi que le log de création de tes tables en base de données. En tout cas c'est ce que GlassFish fait. C'est ce tuto que tu as fait ? http://www.eclipsetotale.com/article...lipse.html#A25 |
|
|
00
|
|
|
#11 | ||||||
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
Citation:
Citation:
Code :
Code :
javax.naming.NameNotFoundException: GestionDeStockBean not bound Citation:
Citation:
oui c'est bien le TP que j'essai de faire désolé pour mes questions ,je suis très novice dans ce domaine |
||||||
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
Je sais que tu fais un client réseau car tu travailles en Remote sur le port 1099 de JBOSS.
Le log que tu montrais au début (celui de la console) est bien celui de JBOSS, et j'y ai vu qqs warning / erreurs. Tiens regarde la doc officielle de JBOSS AS 7 : https://docs.jboss.org/author/displa...g+JNDI?_sscc=t tu y voies que la chaine JNDI est bien plus compliquée que la tienne. Elle commence par "ejb:" ... et prend le nom de l'application, etc ... Tu dois l'adapter. Son format est le suivant : Code :
ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface> Utilise plutôt une dernière version ... car JBOSS 4 n'est pas JEE5, donc tu ne pourras pas faire d'EJB 3 ... voilà pourquoi, sûrement.
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ... |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
j'utilise la version jboss-4.2.0.GA , d'apres ce que j'ai trouvé sur le net elle support les EJB3
http://jl2tho.blogspot.com/2007/05/t...vec-jboss.html j'ai déjà utilisé les EJB3 pour un exemple de de EJB session et ça a marché , je vais essayé de modifier ma chaîne JNDI... |
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
JBOSS 4 permettait peut-être déjà de faire des EJB3 en "preview" ... mais la version certifiée (et complète) commence à JBOSS 5..
Aujourd'hui on en est à la JBOSS 7. Il se peut (je ne connais pas assez JBOSS) que les chaines JNDI aient changé entre ces versions et voilà pourquoi tu n'y arrives pas. Sinon, sur le tutorial que tu essayes de suivre as-tu déjà réussi à faire la première partie, sans l'EJB Entity "Produit" ?
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ... |
|
|
00
|
|
|
#15 |
|
Membre confirmé
![]() Inscription : octobre 2011 Messages : 156 ![]() |
Je confirme que les chaines JNDI ont changé entre les version de JBoss.
Autrement, c'est moi où il y à une coquille entre ce que tu déclares dans ton persistence.xml et ta classe "réelle" com.et.Produit ? Si le persistence.xml est correct, tu ne devrais pas avoir d'erreurs au déploiement. Pour retrouver la bonne chaine de connexion JNDI pour le lookup, connecte toi à la console d'administration (http://localhost:8080). Dans la console JMX, cherche JNDIView et demande le contenu du JNDI, tu devrais y retrouver ton EJB Session et donc en déduire la bonne chaine de connexion. |
|
|
00
|
|
|
#16 | ||
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
Bonsoir a tous , desolé d'avoir tardé , donc j'ai resolue mon probleme mais je ne sais pas comment
en fait je ne sais pas pourquoi ça a marché voici la serie de modification que j'ai fait tout d'abors le fichier persistance.xml: Code :
Code :
@PersistenceContext (unitName="testdb") Code :
import org.hibernate.annotations.Entity;
l'import y est pour beaucoup , mon programme ne compile pas, voila ce que j'ai au niveau de la console Code :
Exception in thread "main" javax.ejb.EJBException: java.lang.IllegalArgumentException: Unknown entity: com.et.Produit Code :
javax.naming.NameNotFoundException: GestionDeStockBean not bound Code :
@PersistenceContext (unitName="testdb") surtout au niveau du fichier persistance , je ne sais quoi ajouter ou bien enlever et le Unitname faut-il le mettre a chaque fois? |
||
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
alors, dans l'ordre :
1 - le unitName dans l'annotation doit être équivalent au nom que tu lui donnes dans le fichier de persistence. MAIS quand il n'y a qu'une seule unité de persistence de déclarée dans le fichier, il n'est pas obligatoire de le spécifier dans l'annotation. 2 - @Entity de Hibernate, venait en conflit avec le @Entity de JPA, voilà pourquoi ça ne marchait. Il faut toujours faire très attention à ses imports surtout en JEE. En tout cas, c'est que tu aies trouvé ton erreur toute seule.
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ... |
|
|
00
|
|
|
#18 | |
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
Citation:
|
|
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() Formateur JAVA / XML Inscription : novembre 2007 Messages : 849 ![]() |
Oui et heureusement que tu pourras mettre plusieurs @Entity
Non, tu n'auras qu'un seul fichier de persistence, pas plusieurs. Regarde les tutos sur JPA à ce sujet. http://tahe.developpez.com/java/jpa/ Etudie bien JPA avant de te lancer ! A+
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ... |
|
|
10
|
|
|
#20 |
|
Membre du Club
![]() informatique Inscription : novembre 2009 Messages : 114 ![]() |
merci infiniment fxrobin
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com