Сессионный компонент с отслеживанием состояния определяется следующим образом:
Сессионные компоненты с отслеживанием состояния Состояние объекта состоит из значений его переменных экземпляра. В сессионном компоненте с отслеживанием состояния переменные экземпляра представляют состояние уникального сеанса клиент-компонент. Поскольку клиент взаимодействует («разговаривает») со своим bean-компонентом, это состояние часто называется диалоговым состоянием.
Сессионный компонент без сохранения состояния определяется следующим образом:
Сессионные компоненты без состояния Сессионный компонент без состояния не поддерживает состояние диалога с клиентом. Когда клиент вызывает методы bean-компонента без состояния, переменные экземпляра bean-компонента могут содержать состояние, специфичное для этого клиента, но только на время вызова. Когда метод завершен, состояние, зависящее от клиента, не должно сохраняться. Однако клиенты могут изменять состояние переменных экземпляра в объединенных bean-компонентах без состояния, и это состояние сохраняется до следующего вызова объединенного bean-компонента без состояния. За исключением времени вызова метода, все экземпляры bean-объекта без состояния эквивалентны, что позволяет контейнеру EJB назначать экземпляр любому клиенту. То есть состояние сеансового компонента без сохранения состояния должно применяться ко всем клиентам.
Преимущество использования сеансового компонента без сохранения состояния над сеансовым компонентом с сохранением состояния заключается в следующем:
Поскольку сессионные компоненты без сохранения состояния могут поддерживать несколько клиентов, они могут предложить лучшую масштабируемость для приложений, которым требуется большое количество клиентов. Как правило, приложению требуется меньше сеансовых компонентов без сохранения состояния, чем для поддержки того же количества клиентов.
Поэтому возникает вопрос, когда следует использовать сессионные компоненты с отслеживанием состояния? На мой наивный взгляд, следует придерживаться использования сессионного компонента без сохранения состояния, насколько это возможно.
В каких кандидатах следует использовать сессионный компонент с отслеживанием состояния? Есть хорошие примеры?