в самом простом «диалоговом состоянии» относится к значению полей экземпляра.
Для сессионных компонентов без сохранения состояния контейнер не гарантирует, что последующие вызовы метода будут использовать один и тот же экземпляр EJB (из пула), поэтому вы не можете предполагать, что значения, которые вы поместили при вызове метода bean, все еще будут там, когда Вы вызываете метод снова (или другой метод компонента).
Для сессионных компонентов с сохранением состояния контейнер гарантирует, что последующие вызовы будут использовать тот же экземпляр EJB, следовательно, вы можете сохранить значения полей экземпляра.
В качестве примера, скажем, у вас есть боб, имеющий метод increment () и метод retrieve (). Приращение увеличивает сохраненное значение, а извлечение получает текущее сохраненное значение.
Для сессионного компонента без сохранения состояния, если вы вызываете метод increment () 5 раз, не гарантируется, что при выполнении retrieve () вы получите 5. Это зависит от контейнера, который его EJB ' Я назначу на ваш звонок. Поэтому, если вам назначен новый экземпляр EJB, вы получите ноль. Также возможно, что контейнер не очистил ваш экземпляр EJB, поэтому возможно получить 5 - но это не гарантировано.
Для сессионного компонента с сохранением состояния, если вы вызываете метод приращения 5 раз, при получении значения вы получите 5. Контейнер гарантирует, что EJB, который использовался при первом вызове, будет использоваться для всех последующих вызовов.