2012-05-08 64 views
2

比方說,如果我有一個應用程序,我一直在保存所有的XPage,最不一定相互關聯。如果我在faces-config文件中爲其中一些XPage定義了幾個bean,那麼其他XPage中的內存和性能對這些託管bean沒有任何影響的影響是什麼?它們是不是被實例化並保存在內存中(即使是空的)所有XPage在這個應用程序中?使用託管豆的架構問題?

如果是這樣,那麼最好的做法是保留將使用託管bean(也許分享它們)的相關XPage與他們自己的NSF中的所有XPage的單一商店?如果EL/SSJS引用

霍華德

回答

5

託管bean僅構成。它的範圍在丟棄時定義。

所以從性能的角度來看,在faces-config中定義了多少bean並不重要(有點)。

但是,您必須考慮的是方法的性能。特別是setter/getters,通常每個請求會被調用多次。同時避免請求作用域bean的構造函數中存在過多的代碼。也適用於內存需求 - 儘量不要在bean中保存大量的數據(數組,地圖等)。

我會建議將XPage分成更多的數據庫。原因不同於bean性能 - 應用程序邏輯。將相關功能放在一起(放入單個NSF)並與其他人分開(不要將它們全部放在同一個地方)。

+0

謝謝,偉大的信息! – Howard

0

這真的取決於你使用,讓他們在內存使用的是他們等等等等什麼範圍,..

+0

假設它是viewScope或sessionScope,並且bean根本不被訪問?我認爲依據用戶的數量和範圍的類型,還有一些性能影響在內存中設置bean以及內存使用情況?這足以考慮將這些依賴於某個bean的XPage放入他們自己的nsf中嗎?謝謝,霍華德 – Howard

+0

這真的取決於 – jjtbsomhorst