我应该在WAR中包含多少Portlet?

时间:2012-08-09 15:46:50

标签: portlet portal

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

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

是否有最佳做法或建议?

1 个答案:

答案 0 :(得分:1)

为了提高效率,您希望每个WAR捆绑许多Portlet。真正重要的是EAR的数量,但我假设您正在为每个WAR构建一个单独的EAR。所以最初的陈述仍然存在。

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

所有这些都是为了在构建/部署灵活性(许多EAR)和运行时内存使用,部署和重启时间(更少的EARS)之间建立一个愉快的媒介。