如何在服务器上部署EJB?

如何在服务器上部署EJB?

问题描述:

我正在学习过去几天的EJB3。我有许多关于EJB,应用程序服务器和EJB部署的问题。如何在服务器上部署EJB?

首先,我创建了一个简单的helloworld无状态会话bean,但我不知道如何将其部署到服务器上。它有单一的bean类,bean接口和一个servlet客户端。我用eclipse来开发这个项目。
我读过的书都没有提供关于如何在服务器上放置EJB以及如何访问这些bean的详细步骤。

我有JBoss 6服务器,我也有从Sun网站下载的Java EE budle。此Java EE软件包是否包含Glassfish服务器?还是需要单独下载?
任何人都可以请我一步一步的详细介绍如何把我的bean和它的客户端放在服务器上(JBoss或Java EE)?

为什么我们需要在EJB客户端代码中包含bean接口类?我的意思是要么我们需要保持客户端和bean在同一个包中,或者如果我们将它们保存在单独的包中,我们需要在客户端代码中导入bean接口。我对吗?

+0

感谢您的帮助! – Shekhar 2010-04-06 13:23:23

随着Java EE 6的,你可以打包你的servlet和一个WAR您的EJB(无论是在JAR打包EJB并把它放在WEB-INF/lib或简单地把所有类在WEB-INF/classes)。而部署这一战,将其复制到:

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

随着的Java EE 5,你必须打包代码在EAR中。

如果您想从Eclipse部署应用程序(使用Eclipse WTP),则必须安装相应的服务器适配器。对于Eclipse伽利略和GlassFish(目前还JBoss的6 AFAIK没有适配器),右键单击服务器视图中,选择新建>服务器,点击下载额外的服务器适配器并选择的GlassFish适配器。完成以定义新的GlassFish v3 Java EE 6服务器并在其上部署您的应用程序(在您的应用程序上右键单击,然后运行方式>在服务器上运行)。对于Eclipse Helios和GlassFish,您可以按照@VonC给出的链接(手动安装)或选择this answer(通过更新站点安装)。

+0

我没有看到当时你(更完整)的答案。 +1 – VonC 2010-04-12 12:29:57

+0

的Java EE 6不允许将消息驱动bean战争中。 – 2011-08-09 21:09:53

您需要将GlassFish添加到Eclipse安装中(请参阅GlassFish plugin for Eclipse)。

全过程described here(与最新的Eclipse太阳神3.6M6)

您应该将EJB导出到您的jboss<version>\server/default/deploy文件夹中,然后在servlet的Web项目中添加它的构建路径。你可以在“在服务器上运行”,然后选择一个应用服务器,就像你在任何项目中,无需导出WAR但如果你这样做,你会每次都重新导出WAR您修改代码
AFAIK有JBoss的6没有Eclipse插件,但Eclipse提供了一个5.1