2010-03-29 5 views
8

J'apprends l'EJB3 des derniers jours. J'ai beaucoup de questions concernant EJB, les serveurs d'applications et le déploiement d'EJB. Pour commencer, j'ai créé un simple bean de session sans état de helloworld mais je ne sais pas comment le déployer sur le serveur. Il a une classe de bean unique, une interface de bean et un client de servlet. J'ai utilisé eclipse pour développer ce projet.
Aucun des livres que j'ai lus ne donne pas à pas des détails sur la façon de mettre EJB sur le serveur et comment accéder à ces beans.Comment déployer EJB sur le serveur?

J'ai le serveur JBoss 6 et j'ai aussi Java EE téléchargé depuis le site web de Sun. Ce bundle Java EE contient-il un serveur Glassfish? ou dois-je le télécharger séparément?
Quelqu'un peut-il s'il vous plaît me donner pas à pas les détails de la façon de mettre mon bean et son client sur le serveur (JBoss ou Java EE)?

Et pourquoi avons-nous besoin d'inclure la classe d'interface bean dans le code client EJB? Je veux dire soit nous devons garder le client et le bean dans le même paquet ou si nous les gardons dans des paquets séparés, nous devons importer des interfaces bean dans le code client. Ai-je raison?

+0

Merci pour votre aide !! – Shekhar

Répondre

8

Avec Java EE 6, vous pouvez emballer votre Servlet et votre EJB dans un WAR (soit votre package EJB dans un JAR et mettez-le dans WEB-INF/lib ou mettez simplement toutes les classes dans WEB-INF/classes). Et de déployer cette guerre, copiez-le:

  • $GLASSFISH_HOME/domains/<domain1>/autodeploy pour GlassFish v3 *
  • $JBOSS_HOME/server/default/deploy pour JBoss 6

Avec Java EE 5, vous devrez emballer votre code dans un EAR. Et si vous souhaitez déployer votre application à partir d'Eclipse (à l'aide du WTP Eclipse), vous devrez installer l'adaptateur de serveur approprié. Pour Eclipse Galileo et GlassFish (il n'y a actuellement aucun adaptateur pour JBoss 6 AFAIK), clic droit la vue du serveur, sélectionnez Nouveau> Serveur, cliquez sur Télécharger adaptateurs de serveurs supplémentaires et sélectionnez le adaptateur GlassFish. Terminer pour définir votre nouveau serveur GlassFish v3 Java EE 6 et déployer votre application dessus (faites un clic droit sur sur votre application puis Exécuter en tant que> Exécuter sur le serveur). Pour Eclipse Helios et GlassFish, vous pouvez suivre le lien fourni par @VonC (installation manuelle) ou vérifier this answer (installation via le site de mise à jour).

+0

Je n'ai pas vu votre réponse (beaucoup plus complète) à ce moment-là. +1 – VonC

+0

Java EE 6 ne permet pas de placer des beans pilotés par message à l'intérieur de la guerre. –

1

Vous devez exporter en tant qu'EJB dans votre dossier jboss<version>\server/default/deploy, puis ajouter le chemin de génération pour cela dans le projet Web de la servlet.Vous pouvez "Exécuter sur le serveur" et choisir un serveur d'application comme vous le feriez dans n'importe quel projet, pas besoin d'exporter le fichier WAR mais si vous le faites, vous devrez réexporter votre fichier WAR chaque fois que vous modifiez votre code
AFAIK il n'y a pas de plugin Eclipse pour JBoss 6 mais Eclipse en fournit un pour 5.1

Questions connexes