Я переношу приложение в Java EE 7 и хотел бы CDI 1.1. Но я не понимаю значение bean-discovery-mode="annotated"
. CDI 1.1 specification не очень помогает. По крайней мере, я не нашел полезного абзаца. Я пропустил это?Значение режима обнаружения боба, аннотированного в CDI 1.1
Этот пример прекрасно работает с bean-discovery-mode="all"
и впрыскивает экземпляр LoggingClass
:
public class LoggingClass {
public Logger logger = Logger.getLogger("ALOGGER");
}
@Test
public class MMLoggerProducerIT extends Arquillian {
@Inject private LoggingClass lc;
}
Но если я изменю из bean-discovery-mode="all"
в bean-discovery-mode="annotated"
контейнер не может вводить экземпляр в поле lc
.
Как мне добавить аннотацию LoggingClass
к правильному использованию bean-discovery-mode="annotated"
?
Я только угадываю, но я думаю, что «@Named» или «@ManagedBean» были кандидатами? –
@Mike_Braun Named будет выставлять только компонент в контексте EL, но не даст ему возможности. ManagedBean - это аннотация JSF, движок CDI игнорирует его. – Yuri