Жизненный цикл EJB при введении CDI

91
8

Если EJB вводится контейнером CDI с использованием @Inject, поскольку этот CDI имеет область видимости, это означает, что этот EJB будет иметь область видимости, и жизненный цикл будет управляться контейнером CDI вместо контейнера EJB?

Или контейнер CDI только вводит, а жизненный цикл управляется контейнером EJB?

Например: я реализую SLSB, у которого есть жизненный цикл, управляемый контейнером EJB. Это означает, что контейнер EJB будет контролировать создание, объединение и уничтожение компонента.

По умолчанию CDI bean имеет зависимую область. Если я вложу этот SLSB, используя @Inject CDI, будет управлять жизненным циклом компонента, чтобы он был создан и уничтожен каждый раз, когда родительский класс создается и уничтожается? Если это так, EJB потерял характеристики совпадения (пул боба).

спросил(а) 2015-03-26T16:18:00+03:00 6 лет, 5 месяцев назад
1
Решение
64

От bkail ответьте на аналогичный вопрос:

Версия @Inject будет уважать область действия EJB. Например, использование @EJB для вставки SFSB в сервлет не имеет смысла, потому что для каждого запроса будет существовать только один SFSB. Использование @Inject для внедрения SFSB @SessionScoped в сервлет означает, что у вас есть прокси-сервер CDI, который создает новый SFSB, необходимый для каждого сеанса.

ответил(а) 2015-03-26T18:01:00+03:00 6 лет, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема