Io corro in un problema con il CDI iniezione in un contenitore di saldatura in JBoss 7.1.1CDI ciclo di iniezione
Ho il seguente modello oggetto:
@Stateless
class ServiceEjb {
@Inject
A a;
}
class A {
@Inject
B b;
}
class B {
@Inject
A a;
}
Quando si tenta di iniettare una o B nella mia classe stateless, ciclo di iniezione e arresto anomalo con javax.enterprise.inject.CreationException.
Provo molte cose (scoping, @Singleton su A o B ma senza successo). Non voglio rompere il codice, e quelle iniezioni rendono i sensi.
Qualsiasi indizio sarà molto apprezzato.
Grazie di per la vostra risposta rapida. Devo ammettere che il concetto di portata normale non è molto chiaro per me. I collegamenti forniti forniscono commenti su @NormalScope, ma questo non esiste. Come dichiarare un ambito normale? – jmcollin92
[La maggior parte degli ambiti sono ambiti normali.] (Http://docs.jboss.org/cdi/spec/1.0/html/contexts.html#normalscope) Gli ambiti di sessione, applicazione, conversazione e richiesta sono ambiti normali. Ciò è in contrasto con _pseudoscopes_: singleton e dependent (che è l'impostazione predefinita quando non si scrive in un'annotazione dell'oscilloscopio). – Nick
Quindi, poiché ho già provato a dichiarare lo scope, questo dovrebbe funzionare, se capisco bene. Che tipo di ambito posso provare a un DAO (a cui si accede da un SessionBean)? – jmcollin92