Java EE应用程序上的项目体系结构/组织,包括EJB 3.0,JPA,JBoss上的动态Web项目

StackOverflow https://stackoverflow.com/questions/420222

我有一个带有不同动态Web项目的webapp,每个动态Web项目通常都包含一个EJB项目。我们希望让它们保持交互,就像通过JNDI使用来自彼此的EJB的bean和类,共享相同的数据库或使用它们自己的数据库一样。但我们也希望能够在不同的服务器上保留不同的项目。

这种项目在架构和组织方面的重点是什么?

我们应该如何使用EAR?一个EAR统治他们所有人并且在黑暗中束缚他们? (对不起,必须做那个LOTR参考),或每个服务器/网络项目的EAR等?

有帮助吗?

解决方案

磁盘空间很便宜,但是如果你把所有东西都放到一个EAR中,你的应用服务器就有可能全部运行它们,即使你想要的只是服务A.你最好打破常用的EJB并将它们部署到他们自己,以及每个服务的组件都在他们自己的EAR中。

然后,以JBoss为例,您可以直接将工件复制到要运行它们的任何服务器的deploy目录中。

OrderManagement.ear InventoryManagement.ear StoreFront.ear

然后,您可以在任何特定服务器上拥有全部,部分或全部内容。

其他提示

EJB是模块化的,因此根据您要提供的服务,您应该提供适当的EAR来部署。此外,尝试使用MBean并将它们部署为独立服务。管理界面在调试和测试时有很多帮助。

请记住错误修复/升级和回归测试方案。您在同一个EAR中拥有的EJB模块越多,即使您只为其中一个模块修复或添加了新功能,功能点也需要进行回归测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top