-
Utilisation des EJB 3 ?
Bonjour,
J'aimerais savoir s'il est possible de faire des ejb3 avec Tomcat ? J'ai développé une application sur JBoss et maintenant j'aimerais la déployer sur Tomcat. J'aimerais savoir si c'est possible parce que pour le moment je n'arrive pas à faire tourner mon application sur Tomcat.
Merci d'avance
-
Non, ce n'est pas possible.
Tomcat n'est pas un serveur d'application mais un moteur de servlets.
Utilise JBoss, GlassFish et les autres compatibles EJB3.
-
Ok, merci pour ta réponse (aussi rapide) :P
-
à noter que JBoss utilise Tomcat comme moteur de servlets.
-
en fait, je dois mettre mon application qui tourne sur JBoss, sur Tomcat, car mon chef veut une application qui utilise Tomcat et non JBoss car dans l'entreprise, ils n'utilisent pas JBoss. Donc je voulais mettre mon application sur Tomcat sans devoir changer le code.
Mais vu que Tomcat ne gère pas les ejb3, je suis obligée de changer mon code. Mais je ne sais pas comment modifier mon code pour qu'il puisse marcher sur Tomcat.
-
Ben là, t'as pas de bol !
Qu'utilises-tu des ejb3 ?
Les entity, les session ?
Tu peux remplacer tes entity par une couche dao Hibernate classique.
Tu peux également remplacer tes session (si c'est pour gérer les transactions) par une couche de service spring.
Ce sont de pistes, mais dis nous en plus sur ton projet, contraintes, etc...
-
Ben en fait j'utilise des entités et des sessions, et là je suis en train de me renseigner pour utiliser le mapping hibernate puisque mon chef veut absolument Hibernate.
En fait, mon application utilisait JBoss et sa base de données. J'avais utilisé ça pour simplifier l'utilisation de mon appli parce que je n'avais pas de cahier des charges, et je m'étais dit que je changerai la base de données selon les besoins de mon chef. Donc maintenant je dois utiliser mysql.
Au départ la seule contrainte que j'avais pour faire mon appli c'est qu'elle devait être en Java, donc comme je ne suis pas vraiment aidée (ah oui au fait je suis stagiaire), j'ai fait mon appli à ma manière, comme j'ai appris en cours, donc des ejb3 utilisant JBoss, des jsp et des servlets. Et donc mon chef ne veut pas de JBoss, il veut tomcat, et il ne veut pas des ejb3, puisque ça ne marche pas sur tomcat.
En fait mon appli, gère des tests, des tests unitaires sont stockés dans une table, et l'appli construit des scenario (suite de tests) selon les demandes de l'utilisateur, et il fait également des rapports de tests et stocke des historiques de suite de tests. Il possède également une interface pour modifier les tests présents dans la base sans que les utilisateurs touchent aux codes des tests et les modifications possibles sont également stockées dans une table.
Ce qui m'embête le plus c'est que j'ai fini mon appli et que maintenant, il faut que je recommence parce qu'il ne veut pas des ejb3. Donc j'aimerais pouvoir modifier mon appli sans tout recommencer parce que je n'ai plus beaucoup de temps pour faire cette appli.
Voilà, je ne sais pas si je suis assez précise...
merci pour ton aide...je vais me renseigner sur spring
-
Si tu dois faire vite, tu peux te passer de Spring.
Je l'ai évoqué pour remplacer la partie transactionnelle des EJB session, mais tu peux très bien coder tes transactions à la main avec l'api Hibernate.
Au niveau Hibernate, tu dois peut être pouvoir te servir de Hibernate Annotations (cf: www.hibernate.org) pour pouvoir réutiliser tes entity ejb3.
Après, tu gardes le reste de ton application.
Tu devrais t'en sortir s'en modifier trop de choses.
-
Merci beaucoup pour ton aide, je vais regarder ce que tu me conseilles
-
De rien.
Pour Hibernate Annotations, je ne l'ai pas testé, mais d'après ce qui est écrit, ça devrait fonctionner pour toi. Ca t'éviterait de devoir créer les fichiers de mapping xml. Cependant, si ça ne fonctionnait pas, il y a des générateurs de mappings Hibernate à partir de classes java.
En tout cas, bon courage.
-
Ah oui, j'ai une autre question concernant les ejb3 et tomcat. Qu'est ce que tomcat ne supporte pas dans les ejb3 ? Parce que en fait je m'y connais pas du tout...
Et je pensais que tomcat ne supportait pas les annotations Hibernate, parce que j'ai mis des annotations pour faire ma persistance dans mes ejb3 et je pensais que Tomcat voulait un vrai fichier de mapping avec création de table et que c'est pour cela que je n'arrivais pas à déployer mon appli sur Tomcat.
-
En fait Tomcat n'est pas un serveur d'application.
Il n'offre donc pas tous les services d'un serveur d'application comme les ejbs, jms, etc...
Il faudrait voir s'il y a moyen de faire fonctionner les ejbs 3 dessus en rajoutant un module.
Je ne sais pas si c'est possible.
-
Peut être qu'en installant dans Tomcat le container EJB3 de Jboss, ça marcherait.
A voir : http://docs.jboss.org/ejb3/embedded/embedded.html
-
Ben j'avais trouvé justement un truc sur ce site concernant les container :
http://www.easybeans.org/GettingStar...tedTomcat.html
mais il faut tomcat 5.5, et la société utilise une version antérieure...et ils ne comptent pas changer de version...
-
A priori, il n'y a pas de limitations sur la version de Tomcat dans le lien que je t'ai donné, cependant, il y a des limitations au niveau du conteneur JBoss.
-
-
Bon, j'ai regardé : Embedded JBoss and Tomcat
Et sur le site de JBoss, il est précisé qu'il faut les versions 5.5 ou 6.0 de Tomcat pour l'installation.
Voici le site :
http://http://wiki.jboss.org/wiki/Wi...eddedAndTomcat
Donc pour mon cas, ça ne marche toujours pas...
Mais merci quand même pour la piste, ça me fait apprendre pleins de choses !