2012-01-09 55 views
0

我想弄清楚如何配置我的战争,以便它在JBoss中成功部署我的所有EJB(EJB 3)。这些EJB可以在战争中的多个罐子中找到。在同一场战争中的JBoss AS 6多个ejb罐子 - 如何配置?

你能告诉我一个关于如何配置这个的例子吗?换句话说,我需要编辑的文件是什么,以便JBoss知道有多个包含EJB的jar。

谢谢!

回答

0

您应该使用EAR归档来部署多模块应用程序(包含许多EJB)。 WAR文件和目录的JBoss部署者不会分析任何EJB的WEB-INF/lib目录,也不会部署它。只有简单的类将从这个目录加载。当然,您可以单独部署所有EJB。

对于EAR归档,您应该指定application.xml文件,并且您可以使用部署信息指定jboss-app.xml。例如,

<application> 
    <display-name>My Application</display-name> 

    <module> 
    <web> 
     <web-uri>web-app.war</web-uri> 
     <context-root>/myapp</context-root> 
    </web> 
    </module> 

    <module> 
    <ejb>ejb-app.jar</ejb> 
    </module> 
</application> 

这里是一个link到JBoss 4服务器配置指南。我在AS 6的文档中没有找到相同的内容。但是,主要的部署者概念可能相同。

+0

对于J2EE 6(!)(请参阅Weld作为参考实现),您可以使用WAR部署EJB。请参阅[在WAR模块中打包企业Bean](http://docs.oracle.com/javaee/6/tutorial/doc/gipio.html#gippi) – vim 2012-01-10 12:56:51

0

您不需要做任何特殊的事情来将EJB部署到war文件中。只要你的POJO注有@Stateless/@Stateful它应该没问题。您显然需要将您的EJB jar文件放入WEB-INF/lib,这应该足够了。

您是否看到任何特定错误或遇到问题?如果是这样,你使用的是什么JBoss版本?如果你用这些信息更新你的问题,我可以相应地更新我的答案。

相关问题