[weld-dev] Two interceptor bindings considered the same when the only annotation member is nonbinding?

Ales Justin ales.justin at gmail.com
Mon Mar 5 11:03:35 EST 2012


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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20120305/1a344205/attachment.html 


More information about the weld-dev mailing list