beanManager.getBeans (abc.class, new AnnotationLiteral
возвращает набор результатов в CDI 1.0, но не возвращает результаты в CDI 1.2.
Есть ли какие-либо изменения, которые необходимо сделать?
CDI 1.2 представил некоторые серьезные изменения, связанные с режимом обнаружения bean-компонента .Это может быть причиной вашей проблемы.
Начиная с CDI 1.2, режим обнаружения bean-компонента по умолчанию равен annotated, что позволяет по умолчанию активировать CDI в Java EE 7 без beans.xml file.
annotated
beans.xml
См. Следующую цитату, которая объясняет, как бины могут быть определены после CDI 1.2:
2.5.1.Аннотации, определяющие bean-компоненты Класс bean-компонентов может иметь аннотацию, определяющую bean-компонент, позволяющий размещать его в любом месте приложения, как определено в Bean Archives .Класс bean с аннотацией, определяющей bean-компонент, называется неявным bean-компонентом. Набор аннотаций, определяющих bean-компонент, содержит: @ApplicationScoped, @SessionScoped,@ConversationScoped и @RequestScoped аннотации, все другие обычные типы областей действия, @Interceptor и @Decorator аннотации, все аннотации стереотипа (т.е. аннотации, помеченные @Stereotype), и аннотация области видимости @Dependent.
2.5.1.Аннотации, определяющие bean-компоненты
Класс bean-компонентов может иметь аннотацию, определяющую bean-компонент, позволяющий размещать его в любом месте приложения, как определено в Bean Archives .Класс bean с аннотацией, определяющей bean-компонент, называется неявным bean-компонентом.
Набор аннотаций, определяющих bean-компонент, содержит:
@ApplicationScoped, @SessionScoped,@ConversationScoped и @RequestScoped аннотации,
@ApplicationScoped
@SessionScoped
@ConversationScoped
@RequestScoped
все другие обычные типы областей действия,
@Interceptor и @Decorator аннотации,
@Interceptor
@Decorator
все аннотации стереотипа (т.е. аннотации, помеченные @Stereotype),
@Stereotype
и аннотация области видимости @Dependent.
@Dependent