Sorry for my brevity. Was on a cellphone only.
My point is: Context#get(Bean<T>) and Bean<T> only has getScope() which looks
like
public Class<? extends Annotation> getScope();
Thus having something like
@RequestScoped(allowMultithreads=true)
public class BlaBlaController {..}
would get represented by a Bean<BlaBlaController> which could only return
RequestScoped.class.
There is simply no way to return the "allowMultithreads=true" information
somewhere as we only deal with Classes.
The same applies to BeanManager#getContext():
public Context getContext(Class<? extends Annotation> scope);
No Annotation but Class, you see?
-> Currently there is no way to evaluate an additional attribute on a scope
annotation.
And thus section 2.4.2 of the CDI specification also clearly states
"A scope type must not have any attributes. If a scope type has attributes
non-portable behavior results."
roger?
LieGrue,
strub
On Sunday, 20 March 2016, 21:12, Romain Manni-Bucau <rmannibucau(a)gmail.com> wrote:
Le 20 mars 2016 21:07, "Mark Struberg" <struberg(a)yahoo.de> a écrit :
>
> See Bean#getScope() and BeanManager#getContext()
>
> Just uses Class and no Annotation instance.
>
That's ok I think. Since 1.2 you can get meta from any bean and find it if needee but
i most of cases the context will see the bean and will not need it.
Would also break the Annotated contravt if true.
> Lgm
>
>