Hello,
what you are describing looks like a user error. Basically, for a given scenario it can be
uncertain who's handling injection and I can imagine some cases where there can be
race between then two frameworks.
Side note - Validator doesn't have EJB dependency and we don't want to add it
anywhere outside of EJB module. We would have to use WeldEjbValidator instead.
However, looking at specs, I didn't find any note on this so basically it is undefined
and I don't think we should validate it because:
1) it is a definition error that can be caught even by IDE (= before app runs)
2) we do not know how EJB subsystem reacts to similar situation, different servers might
have different solutions in place already
3) I would say this is a rare case and one where you usually realize what's wrong
pretty fast unless you just keep slamming multiple annotations you don't understand
onto fields ;-)
Similar scenario would emerge with Resource annotation or with com.google.inject.
Regards
Matej
----- Original Message -----
From: "Benjamin Confino" <BENJAMIC(a)uk.ibm.com>
To: weld-dev(a)lists.jboss.org
Sent: Tuesday, April 14, 2020 4:27:05 PM
Subject: [weld-dev] Validating for fields that are annotated with both EJB and Inject
Hello weld
I had a customer with an issue that I believe occurred because they annotated
a field with both @Inject and @EJB. This has given me two questions:
1) Should weld throw an error when a field is annotated with both
annotations?
2) If so is the correct way to add something like
if (ij.getAnnotated().isAnnotationPresent(Inject.class) &&
ij.getAnnotated().isAnnotationPresent(EJB.class)) {
throw ...
}
to Validator.validateInjectionPointForDefinitionErrors()
If so I'm willing to create a pull request, all I'd need is for you to tell
me what the error message should say and please point me to which test I
should expand to cover this case.
Regards
Benjamin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev