我目前參與的這個項目需要開發大約60個portlet。我知道portlet WAR可以包含任何數字,所以我不確定我應該在WAR中包含多少個Portlet。我應該在WAR中包含多少個Portlet?
極端的情況是WAR只有一個Portlet。採用這種方法,我將獲得Portlet獨立性,但部署工件的數量將很難管理。另一方面,如果60個Portlet只有一個或兩個WARS,那麼部署工件只有兩個,但即使是對一個Portlet進行的較小更改也意味着重新部署其中的很多。
有沒有最佳做法或建議呢?
我目前參與的這個項目需要開發大約60個portlet。我知道portlet WAR可以包含任何數字,所以我不確定我應該在WAR中包含多少個Portlet。我應該在WAR中包含多少個Portlet?
極端的情況是WAR只有一個Portlet。採用這種方法,我將獲得Portlet獨立性,但部署工件的數量將很難管理。另一方面,如果60個Portlet只有一個或兩個WARS,那麼部署工件只有兩個,但即使是對一個Portlet進行的較小更改也意味着重新部署其中的很多。
有沒有最佳做法或建議呢?
爲了提高效率,您希望每個WAR都捆綁許多Portlet。真正重要的是EAR的數量,但我假設你正在爲每個WAR構建一個單獨的EAR。所以原來的聲明仍然存在。
當您指出將所有60捆綁到一個WAR中是極端的,並且會導致您的部署和重新測試需求的其他問題。我建議將你的Portlet打包成一組邏輯上相似的函數。例如,一起協作以提供單一功能的Portlet應該打包在一起,因爲它們往往會發生變化,無論如何需要重新部署。當然,每個WAR的10個Portlet是可管理的,並且將您的應用分成6個EAR也是一個相當可管理的數字。記住每個EAR都有一定的開銷,所以考慮一下你的開發生命週期,一旦你有太多的EARs,你的開發服務器上的重啓時間開始變得荒謬起來。一個大的EAR不會比一個小的開始花太多的時間。這也適用於部署時間。
這是關於構建/部署靈活性(許多EAR)和運行時內存使用,部署和重新啓動時間(更少EARS)之間的愉快媒介。