Ненужные сессионные компоненты в AJAX-фреймворках с поддержкой Ajax - PullRequest
0 голосов
/ 28 июля 2010

Я заметил, что при использовании тяжелых реализаций JSF 1.2 в Ajax, таких как Richfaces, вы как-то вынуждены объявлять больше управляемых bean-компонентов, чем вы хотите в качестве Session-scop, чтобы поддерживать состояние для нескольких Ajax-запросов;Есть компоненты, которые просто перестанут работать.

Например, в последнее время я разработал это приложение, в котором мне пришлось объявить почти все мои компоненты поддержки JSF в качестве Session Scoped, чтобы компонент x работал.Есть ли выход из этого, считаете ли вы это плохой практикой, или это просто цена, которую нужно заплатить за включение компонента Ajax в JSF 1.2.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 28 июля 2010

Бины области действия сеанса увеличивают использование памяти.

Другой доступной областью действия является область видимости - это позволяет сохранять состояние компонента между запросами, пока пользователь все еще находится в том же представлении.

Если вы используете JSF2, рассмотрите возможность использования @ViewScope над именем компонента:

    @ViewScope
    public class myBean{
     ..
     }

Если вы используете RichFaces и JSF1.2, рассмотрите возможность использования <a4j:keepAlive /> в <f:view> в представлении.например:

<a4j:keepAlive beanName = "#{myBean}"/>

Подробнее здесь

0 голосов
/ 28 июля 2010

Другой вариант - использовать разговор по шву. Кроме того, я бы не сказал, что компоненты перестают работать, они все еще работают ... это ваша логика, которая должна поддерживать какое-то состояние на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...