[debutant] [XDoclet] [JBoss] probleme sur le code genere des messages beans
bonjour,
j'essaie d'ecrire mon premier Ejb message (option Queue) sous Eclipse, avec XDoclet et avec JBoss.
J'ai des erreurs (graves !)
Code:
1 2 3 4
| The content of element type "message-driven" is incomplete, it must match "(ejb-name,destination-
jndi-name,local-jndi-name?,mdb-user?,mdb-passwd?,mdb-client-id?,mdb-subscription-id?,exception-
on-rollback?,configuration-name?,invoker-bindings?,security-proxy?,ejb-ref*,ejb-local-
ref*,resource-ref*,resource-env-ref*,depends*)". |
dans le fichier JBoss.xml :
Code:
1 2 3 4
| <message-driven>
<ejb-name>TestMy</ejb-name>
</message-driven> |
alors que pourtant les balises Xdoclet semblent completes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| /**
* <!-- begin-xdoclet-definition -->
* @ejb.bean name="TestMy"
* jndi-name="TestMy"
* local-jndi-name="TestMyLocal"
* acknowledge-mode="Auto-acknowledge"
* destination-type="javax.jms.Topic"
* subscription-durability="NonDurable"
* transaction-type="Container"
* destination-jndi-name="TestMy"
*
* @ejb.transaction="Supports"
*
* <!-- end-xdoclet-definition -->
* @generated
**/ |
j'ai essayé de modifier les balises, mais rien n'y fait.
Je ne peux toucher le fichier jboss.xml, il serait réécrasé à chaque changement.
Je suppute que c'est peut-être un bug de xdoclet. Que faire ?
quelqu'un a une idée ?:roll:
oum
la reponse pour ceux qui s'intéressent
Bon,
j'ai fini par trouver.
Il y a quand même un problème de génération au départ qui fait que le code xml généré est considéré comme incomplet au regard de la DTD par le parser.
Il faut ajouter dans les doclets la balise suivante:
Code:
* @jboss.destination-jndi-name name="queue/TestMy"
et après on obtient dans le fichier jboss.xml le code suivant:
Code:
1 2 3 4 5
| <message-driven>
<ejb-name>TestMy</ejb-name>
<destination-jndi-name>queue/TestMy</destination-jndi-name>
</message-driven> |
et après on n'a plus d'erreur.
Une autre solution était de contourner le problème en plaçant le code désiré dans le fichier suivant: jboss-bean.xml qui sera inclus au moment du déploiement dans jboss.xml.
Voila, avec cela on peut considérer le problème comme résolu.
Oum