J'ai une application d'entreprise avec 5 modules Maven (common-Jar, EJB, WEB, EAR, GAR)
le fichier beans.xml
est sous le Web module\webapp\WEB-INF
et i utiliser ce code pour lister tous les grains découverts:
bon endroit pour mettre toutes les annotations et les haricots CDI dans les modules multi-projets
Set<Bean<?>> beans = beanManager.getBeans(Object.class, new AnnotationLiteral<Any>() {
});
for (Bean<?> bean : beans) {
System.out.println(bean.getBeanClass().getName());
}
mais certains de mes classes (classes d'entité avec @Stateless
annotation) n'a pas été découvert. et je ne peux pas les injecter dans un champ. (Erreur: unsatisfied dependency injection point
)
Question 1: Existe-t-il une exception ou une limitation pour les haricots découverts?
** Je crée un qualificateur pour effacer l'état ambigu, mais ils ne peuvent pas être utilisés sous une forme simple comme
@MyQualifier
et il doit être utilisé uniquement par son nom de référence complet comme
@com.test.packagename.MyQualifier
.
Question 2: Quel est le bon endroit pour placer toutes les annotations et les beans CDI dans des projets multi-modules?
Merci un million de bro, c'était très utile. –
@MohsenSabbaghi heureux que je pourrais aider. Si cela répond à la question, veuillez indiquer que ma réponse est correcte (ou peu importe comment ils l'appellent) afin qu'elle ne reste pas ouverte. – Siliarus