如何在服务器上部署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接口。我对吗?
随着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(通过更新站点安装)。
我没有看到当时你(更完整)的答案。 +1 – VonC 2010-04-12 12:29:57
的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
感谢您的帮助! – Shekhar 2010-04-06 13:23:23