【发布时间】:2011-03-31 00:24:19
【问题描述】:
我是否将无状态会话 bean 打包在 war 文件或 ear 文件中以进行部署?
【问题讨论】:
标签: java jakarta-ee ejb-3.0 java-ee-5 stateless-session-bean
我是否将无状态会话 bean 打包在 war 文件或 ear 文件中以进行部署?
【问题讨论】:
标签: java jakarta-ee ejb-3.0 java-ee-5 stateless-session-bean
也不是。 EJB 属于标准 JAR 文件(带有 META-INF/ejb-jar.xml)。为了使用 WAR 中的 EJB,您将这两个档案打包到 EAR 中。
由于这不是很方便,所以从 EJB 3.1 开始可以将 EJB 打包到 WAR 中。
【讨论】:
无状态会话 Bean (SLSB) 封装在 EJB-JAR(这是一个常规 JAR 文件)中,包括或不包括可选的部署描述符。 EJB-JAR 和 WAR 组装在 EAR 中以进行部署。
请参阅 Debu Panda 和 Rezza Rahmann 的这篇文章(实际上是从优秀的 EJB 3 in Action 中摘录的):
【讨论】:
使用 EJB 3.1/Java EE 6,您不再需要 EAR 文件,您还可以将会话 bean 直接放在 WAR 文件中(作为 WEB-INF/classes 中的单独 .class 文件,或放在 JAR 中WAR 文件的 WEB-INF/lib 目录中的文件)。参见例如http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html#simpack
【讨论】: