【发布时间】:2014-11-20 03:02:34
【问题描述】:
我有一个涉及多个 EJB jar 和一个需要打包在单个 EAR 中的 WAR 的场景。本项目使用 Spring。最初,ejb jars 是单独部署的,战争也是如此。
每个 ejb jar 都有一个 beanRefContext.xml,它又引用了一个配置 xml,其中包含为该 ejb 项目定义的 bean。每个 ejb 模块都有自己的 daos 和服务...这些服务自动装配到无状态 EJB 中。
战争还有 [servlet-name]-servlet.xml,其中定义了 bean 以及注入到 Controller 类中的条目。
现在将它们打包在一个 EAR 中会在部署时失败,因为有多个 beanRefContext.xml 文件。我该如何做到这一点?所以作为 POC:
mod1-ejb.jar 有 beanRefContext.xml - 加载 mod1-context.xml(定义为在 mod1 中使用的 bean)
mod2-ejb.jar 有 beanRefContext.xml - 加载 mod2-context.xml(定义为在 mod2 中使用的 bean)
mod-web.war 具有 webapp-servlet.xml...war 模块具有“控制器”类,这些类利用来自 mod1-ejb 和 mod2-ejb 的 ejb。如何在单个 EAR 中完成这项工作?使用单个 EJB 模块和 WAR 模块就可以了,因为只有一个 beanRefContext.xml
每个 ejb 模块也使用它自己的资源包,例如 error.properties、message.properties 等...
【问题讨论】: