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
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-dev

Reply via email to