我正在试图弄清楚如何配置我的战争,以便它成功地在JBoss中部署我的所有EJB(EJB 3)。这些EJB可以在战争中的多个罐子中找到。
你能告诉我一个如何配置这个的例子吗?换句话说,我需要编辑的文件是什么,以便JBoss知道有多个包含EJB的jar。
谢谢!
答案 0 :(得分: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>
这是JBoss 4服务器配置指南的link。我没有在AS 6的文档中找到相同的内容。但是主要的部署者概念可能是相同的。
答案 1 :(得分:0)
您无需执行任何特殊操作即可在战争文件中部署EJB。只要您的POJO使用@Stateless
/ @Stateful
注释,就应该没问题。您显然需要将EJB jar文件放在WEB-INF/lib
中,这应该足够了。
您是否看到任何特定错误或遇到问题?如果是这样,你使用的是什么JBoss版本?如果您使用此信息更新您的问题,我可以相应地更新我的答案。