web-dev-qa-db-fra.com

Comment déployer une application basée sur EJB sur Tomcat

J'ai développé une petite application Java utilisant EJB3 et JSF. Mais je veux la déployer sur le serveur Tomcat (pas GlassFish et pas dans Netbeans IDE elle doit être indépendante) de Netbeans).

Comment puis-je le déployer sur Tomcat?

33
MYE

Vous pouvez, mais ce n'est pas censé se produire de cette façon. Tomcat est un conteneur de servlets et seuls les serveurs d'applications sont requis pour prendre en charge EJB.

Tomcat avec prise en charge EJB intégrée est essentiellement TomEE . Remplacez Tomcat par TomEE. Vous pouvez continuer à utiliser le plug-in de serveur Tomcat dans IDE pour gérer TomEE.

54
Bozho

utilisez tomEE: http://openejb.Apache.org/Apache-tomee.html

C'est un Tomcat avec des trucs préconfigurés pour supporter ejb, cdi, etc.

12
Mitja Gustin

Vous pouvez utiliser des EJB avec Tomcat, mais c'est un peu pénible. Consultez les liens de Bozho pour plus d'informations. La question que vous devriez vous poser: avez-vous vraiment besoin d'EJB?

Vous pouvez utiliser Glassfish ou JBoss pour un serveur d'application gratuit qui prend en charge EJB hors de la boîte.

6
darioo

Je pense que la question de savoir si vous avez vraiment besoin d'EJB revient presque à demander si vous avez vraiment besoin d'utiliser des classes. Dès que vous n'utilisez qu'un peu de persistance (de nombreuses applications en ont besoin), les beans EJB sont d'une grande aide. Contrairement à leurs anciens ancêtres, les EJB modernes sont très légers et faciles à utiliser.

Cela dit, comme les autres l'ont indiqué. Tomcat n'est qu'un conteneur de servlets. Il fournit Servlet et JSP, rien de plus. Si vous voulez des commodités modernes Java comme JSF, EJB et JPA (par exemple Hibernate), vous devez soit les ajouter séparément à votre .war (dans WEB-INF/lib) ou au répertoire lib de Tomcat lui-même.

Cependant, si vous ajoutez tout cela à Tomcat manuellement, vous pouvez tout aussi bien utiliser Glassfish, JBoss AS ou Apache Geronimo. Le dernier peut être vu comme Tomcat où les gens Apache ont déjà ajouté JSF, EJB, JPA, JTA, etc. pour vous ;-)

4
robertgoko