Есть ли разница между тем, как beanManager.getBeans работает в CDI 1.0 по сравнению с CDI 1.2? - PullRequest
0 голосов
/ 28 мая 2018

beanManager.getBeans (abc.class, new AnnotationLiteral

возвращает набор результатов в CDI 1.0, но не возвращает результаты в CDI 1.2.

Есть ли какие-либо изменения, которые необходимо сделать?

1 Ответ

0 голосов
/ 28 мая 2018

CDI 1.2 представил некоторые серьезные изменения, связанные с режимом обнаружения bean-компонента .Это может быть причиной вашей проблемы.

Начиная с CDI 1.2, режим обнаружения bean-компонента по умолчанию равен annotated, что позволяет по умолчанию активировать CDI в Java EE 7 без beans.xml file.

См. Следующую цитату, которая объясняет, как бины могут быть определены после CDI 1.2:

2.5.1.Аннотации, определяющие bean-компоненты

Класс bean-компонентов может иметь аннотацию, определяющую bean-компонент, позволяющий размещать его в любом месте приложения, как определено в Bean Archives .Класс bean с аннотацией, определяющей bean-компонент, называется неявным bean-компонентом.

Набор аннотаций, определяющих bean-компонент, содержит:

  • @ApplicationScoped, @SessionScoped,@ConversationScoped и @RequestScoped аннотации,

  • все другие обычные типы областей действия,

  • @Interceptor и @Decorator аннотации,

  • все аннотации стереотипа (т.е. аннотации, помеченные @Stereotype),

  • и аннотация области видимости @Dependent.

...