如何在服务器上部署EJB?

时间:2010-03-29 04:49:28

标签: eclipse deployment jboss glassfish ejb-3.0

我从最近几天开始学习EJB3。关于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接口。我是对的吗?

3 个答案:

答案 0 :(得分:8)

使用 Java EE 6 ,您可以将您的Servlet和EJB打包在 WAR 中(将您的EJB封装在JAR中并将其放入WEB-INF/lib或者只是将所有类放在WEB-INF/classes中)。要部署此WAR,请将其复制到:

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

使用 Java EE 5 ,您必须将代码打包到EAR中。

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

答案 1 :(得分:1)

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

完整流程为described here(使用最新的Eclipse Helios 3.6M6)

答案 2 :(得分:1)

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