On 3/23/07, David Blevins <[EMAIL PROTECTED]> wrote:

On Mar 23, 2007, at 10:43 AM, Prasad Kashyap wrote:

> I have a bean with one of the methods annotated by a
> @ExcludeClassInterceptor.
>
> The bean itself has 2 class level interceptors, 1 defined as an
> annotation (ClassInterceptor) and 1 specified in the DD
> (DDInterceptor).
>
> With the default ordering, everything invokes as expected and the
> method gets excluded from interception.
>
> However, if an attempt is made to change the ordering of the class
> level interceptors, the @ExcludeClassInterceptor  annotation seems to
> be disregarded. The excluded method gets intercepted too.
>
> See dd snippet below. If the ordering is not changed (default
> ordering), the ClassInterceptor executes before the DDInterceptor.
>
> <interceptor-binding>
>    <ejb-name>BasicStatelessIntercepted</ejb-name>
>        <interceptor-order>
>            <interceptor-class>
>                org.apache.openejb.test.interceptor.DDInterceptor
>            </interceptor-class>
>            <interceptor-class>
>                org.apache.openejb.test.interceptor.ClassInterceptor
>            </interceptor-class>
>    </interceptor-order>
> </interceptor-binding>

This one is a toughie without the full test case to look at.  The
interceptor-order is supposed to trump all other bindings at that
same level or lower (low being package, high being method), but it
should not affect the ordering of any higher bindings (in this case
method level bindings).

Put up a patch and I'll take a look.

https://issues.apache.org/jira/secure/attachment/12354131/Interceptor-v4.patch

Cheers
Prasad


-David


Reply via email to