Sto migrando un'applicazione a Java EE 7 e desidero CDI 1.1. Ma non ho il significato di bean-discovery-mode="annotated"
. Il CDI 1.1 specification non è molto utile. Almeno non ho trovato alcun paragrafo utile. Mi è mancato?Significato della modalità di rilevamento dei bean annotata in CDI 1.1
Questo esempio funziona perfettamente con bean-discovery-mode="all"
e inietta un'istanza di LoggingClass
:
public class LoggingClass {
public Logger logger = Logger.getLogger("ALOGGER");
}
@Test
public class MMLoggerProducerIT extends Arquillian {
@Inject private LoggingClass lc;
}
Ma se cambio bean-discovery-mode="all"
-bean-discovery-mode="annotated"
il contenitore non è in grado di iniettare un'istanza nel campo lc
.
Come è necessario annotare LoggingClass
per utilizzare correttamente bean-discovery-mode="annotated"
?
Sto solo indovinando, ma penso che "@Named" o "@ManagedBean" sarebbero candidati? –
@Mike_Braun Named esporrà un bean solo nel contesto EL ma non gli fornirà un ambito. ManagedBean è un'annotazione JSF, il motore CDI la ignorerà. – Yuri