Цикл сессии EJB компонента

Август 11, 2011

Оказание услуг по перевозке грузов на сегодняшний день распрастраненная услуга на рынке для крупных компаний и к примеру торговых представителей. Но многие забывают что качественно перевозить груз может только такая компания, которая обладает большим опытом в российской логистики. Эйр Трансс как раз из таких.

_____________________________________

 

image

A – экземпляр компонента не существует и у клиента нет на него ссылки.

B – экземпляр компонента существует и у клиента есть на него ссылка.

C – экземпляр компонента не существует, а у клиента осталась на него ссылка.

1. С т.з. клиента компонент существует с момента получения ссылки на его бизнес-интерфейс, либо при помощи инъекции зависимости, либо через поиск интерфейса в JNDI.

2. Вызов методов компонента через бизнес-интерфейс. Клиент может передавать ссылку в качестве результата метода бизнес-интерфейса.

3. Возникает, когда клиент вызывает метод компонента, полученный в аннотации Remove, в компоненте возникает системное исключение, SFSB удаляется в результате тайм-аута.

4. Клиент вызывает метод на экземпляре компонента, которого не существует. Возникает исключение.

5. Ссылка на экземпляр компонента выходит из области видимости.

 

Если смотреть на тот же жц с точки зрения контейнера – то алгоритм будет следующим:

image

 

A – экземпляр компонента не существует.

B – экземпляр компонента находится в пуле компонентов готовых к исполнению.

1. Выполняется, когда контейнер принимает решение расширить пул экземпляров компонента. При этом выполняются следущие действия:

а) Создание экземпляра класса компонента и вызов конструктора по умолчанию.

б) Инъекция зависимости.

в) Вызов обработчика события ж.ц. PostConstruct.

2. Контейнер выбирает экземпляр компонента из пула для обработки вызова бизнес-методов.

3. Уничтожение экземпляра компонента. Перед удалением экземпляра вызываются связанные с ним обработчики состояния ж.ц. PreDestroy.

Для SSB нет чёткого разделения между количеством клиентов и количеством экземпляров компонента.