Я работаю над JSF-приложением на основе RichFaces, в котором для параметров com.sun.faces.numberOfViewsInSession и com.sun.faces.numberOfLogicalViews установлено значение 1, но для большинства управляемых компонентов задана область действия «сеанс».Если сокращение объема занимаемой памяти является основной целью (без существенного ухудшения времени рендеринга страницы), что может быть лучшим вариантом?
- Изменение области действия на «запрос», чтобы представлениесостояние не удерживается слишком долго (в отличие от того, когда область видимости установлена на «сеанс»).
Я где-то читал, что область действия бобов может иметь отношение к размеру представления (иbean-компоненты "request" не обязательно могут быть доступны для GC в конце запроса).Я видел снижение производительности в этом случае, хотя и сразу.
- Изменение области действия на «приложение», так как ряд страниц не зависит от пользователя и не изменяется в зависимости от аутентифицированного пользователя.Область применения приложения может привести к созданию единичного объекта, и, следовательно, будет ли значительно меньше общая память, связанная с компонентом, поскольку она не привязана к пользователю?
Кроме того, не приведет ли это к тому, что JSF View будет задерживаться слишком долго?Если да, то это будет хуже, чем в настоящее время с bean-объектами, определяемыми сессией.
Последнее, но не менее важное, в представлении есть несколько форм.Может ли это также сыграть роль в увеличении объема памяти?