Я действительно смущен этим. Предприятие Javabeans имеет систему управления жизненным циклом фасоли, это @Stateful
, @Stateless
и @Singleton
, поэтому, очевидно, управление жизненным циклом. Однако у CDI также есть другая система, которая отражает это: @Dependent
, @RequestScoped
, @SessionScoped
и @Application
, что выглядит эквивалентом @Singleton
в EJB.Java EE 7: Управление жизненным циклом EJB с CDI или без него? Каковы различия?
EJB должны выбрать одну или несколько систем, если я правильно понял? Но использование CDI дает более точное управление зерном, например, система EJB не распознает запросы по сравнению с сеансами, какие CDI делает? Это верно ?
Также в некоторых книгах указано, что CDI имеет контекст, в то время как управление жизненным циклом EJB отсутствует, а ресурсы необходимо закрыть вручную. Я не понимаю, что они подразумевают под этим, поскольку контейнер EJB также управляет жизненными циклами bean-компонентов, так что же это «контекст», который CDI обеспечивает, что EJB нет?
Благодаря
Слишком много вопросов в этом вопросе – kolossus
Вы уже ответили на ваш вопрос. Контекстом CDI beans является либо запрос, сеанс, либо приложение. Так же, как с лицами, управляемыми бобами. Но лица, управляемые beans, имеют ограниченную функциональность по сравнению с CDI beans. Стандартные EJB не имеют такого контекста вообще. – Frank