0

我目前参与的项目需要开发大约 60 个 portlet。我知道一个 portlet WAR 可以包含任何数量,所以我不确定我应该在一个 WAR 中包含多少个 Portlet。

极端情况是只有一个 WAR 的 Portlet。使用这种方法,我将获得 Portlet 独立性,但部署工件的数量将很难管理。另一方面,如果 60 个 Portlet 只有一个或两个 WARS,则部署工件将只有两个,但即使对一个 Portlet 进行的微小更改也意味着要重新部署其中的许多。

是否有任何最佳实践或建议?

4

1 回答 1

1

为了提高效率,您希望为每个 WAR 捆绑多个 Portlet。真正重要的是 EAR 的数量,但我假设您正在为每个 WAR 构建一个单独的 EAR。所以原来的说法仍然成立。

正如您所指出的,将所有 60 个 WAR 捆绑到一个 WAR 中是极端的,并且会导致您的部署和重新测试要求出现其他问题。我建议将您的 Portlet 打包成逻辑上相似的功能组。例如,一起协作以提供单一功能的 Portlet 应该打包在一起,因为它们往往会被更改并且无论如何都需要重新部署在一起。当然,每个 WAR 10 个 Portlet 是可管理的,将您的应用程序拆分为 6 个 EAR 也是一个可管理的数字。请记住,每个 EAR 都有一定的开销,因此只要考虑您的开发生命周期,一旦您的 EAR 太多,您的开发服务器上的重新启动时间就会开始变得荒谬。大 EAR 的启动时间不会比小 EAR 长。这也适用于部署时间。

这一切都是为了在构建/部署灵活性(许多 EAR)和运行时内存使用、部署和重启时间(更少的 EAR)之间找到一个快乐的媒介。

于 2012-08-09T16:52:04.123 回答