Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

pdf / 7-ejb

.pdf
Скачиваний:
21
Добавлен:
06.06.2015
Размер:
200.6 Кб
Скачать

Enterprise Beans

EJB & Container

Что такое EJB

Серверный компонент реализующий бизнес логику

Работает под управлением контейнера

Может быть настроен в момент размещения на сервере путем изменения environment entries

Сервисная информация (о транзакциях, безопасности) может быть размещена в метаданных (аннотации или в ХМЛ)

Клиент работает с EJB через контейнер

Типы EJB

Stateless service

Stateless service + web service endpoint

Асинхронный stateless service

Stateful service

Entity

Когда использовать session EJB

Только один клиент должен работать с экземпляром бина

Коротко живущий

Не переживает перезапуск сервера

Может быть транзакционным

Может изменять общие данные в БД

Не является прямым отображением сущности из базы данных

Возможные типы клиентов: Remote, Local, Web Service (только для stateless)

Remote vs Local

Распределенные системы

В пределах одной JVM

Меньше связанность

Pass-by-reference

между компонентами

Низкие накладные

Pass by value

расходы

Параметры serializable

Возможность вызова

Возможно большие

множества мелких методов

накладные расходы

 

Дополнительные ошибки

 

исполнения (сетевые

 

проблемы, ...)

 

Обычно используется для

 

«больших» операций

 

Пример

@Remote

public interface InterfaceName { ... }

@Remote(InterfaceName.class) public class BeanName implements InterfaceName { ... }

Использование

@EJB Cart cart; //dependency injection

Life cycle (Stateful)

Создание

Create

Выполняется Dependency injection

@PostConstruct

@Init method

Passivate

@PrePassivate

@PostActivate

Удаление

@Remove

@PreDestroy

Instance Passivation

Serializable object

Resource manager

Null

connection factory

Ссылка на EJB

EJB 2

SessionContext

Naming Context

UserTransaction

EntityManager

EntityManagerFactory

javax.ejb.Timer

Life cycle (Stateless)

Создание

Выполняется Dependency injection

@PostConstruct

Удаление

@PreDestroy

Соседние файлы в папке pdf