【发布时间】:2013-05-15 15:25:55
【问题描述】:
我正在尝试通过创建一些功能来自学 EJB3 和 JPA,这些功能使用 JSF2 作为前端,使用无状态 EJB3 会话 bean 来处理事务,使用 JPA 来持久化实体。
理想情况下,我希望 EJB 应用程序位于远程服务器上,而 JSF2 war 文件位于单独的服务器上并进行远程通信 - 从而模拟分布式项目。但我希望他们共享相同的 JPA 实体类(因为将它们转换为其他 DTO 对象只是为了前端使用似乎没有意义 - 所以如果 JPA 项目在它自己的项目中,这对我来说很有意义
我难以理解的是如何最好地打包和部署各种组件。 最好部署: 1) 在服务器一上:一个包含 JPA jar 文件和 EJB 模块的 EAR 文件在一台服务器上。但是如果我这样做,persistence.xml 文件应该放在哪里 - 在 jpa jar 文件中还是在 ejb 模块中?
和 2)在服务器二上:一个带有JSF应用程序的war文件和这个war的WEB-INF lib中的JPA jar文件。在这种情况下,我假设 EJB 接口也需要外部化为 jar 文件并包含在 web-inf/lib 中?
还是我的想法完全错误?
对于实现我想要做的事情的最佳实践应该是什么想法,我会很感激吗?如果我做错了,请提前道歉……这是一种学习体验!
【问题讨论】:
标签: jsf-2 deployment jpa-2.0 ejb-3.0 packaging