As Jozef pointed out, this has been clarified in 1.1. So what should I
do in 1.0, since in 1.0 there is nothing that says that interceptor
bindings on methods override the bindings of the class.
As I wrote below, it is probably perfectly legal to have the same
binding on both the class and the method. But since
BeanManager.resolveInterceptors is supposed to throw an exception if you
pass two instances of the same binding, weld should make sure it calls
resolveInterceptors with only one instance (the method's as in 1.1).
-Marko
On 5.3.2012 17:03, Ales Justin wrote:
This looks like a normal use-case to me.
e.g. bean / class has more generic annotation binding,
where you are more fine-grained on the actual method.
Hence, imo, it should be supported.
-Ales
> According to the spec, BeanManager.resolveInterceptors() should throw
> IAE if two instances of the same interceptor binding type are given.
>
> o.j.weld.tests.interceptors.tb.GenericDAO is annotated @Tx(0) and its
> method find() is annotated @Tx(1). The annotation's only member is
> *Nonbinding*.
>
> - So @Tx(0) and @Tx(1) are considered to be the _same_ binding?
> - The spec allows (doesn't disallow) methods to be annotated with the
> same binding type as the class, right?
> - However, calling resolveInterceptors with these two should throw
> IAE? Currently it does not.
>
> I've made fixes for WELD-999 and now resolveInterceptors does in fact
> throw IAE in this case. But I guess I now have to remove duplicate
> bindings before calling resolveInterceptors in cases where the method
> of a bean is annotated with the same binding type as the bean itself.
>
> Am I wrong in assuming that @Tx(0) and @Tx(1) are the same binding?
>
> Regards
> Marko
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev(a)lists.jboss.org <mailto:weld-dev@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/weld-dev
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev