You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Jean-Louis MONTEIRO (JIRA)" <ji...@apache.org> on 2012/07/20 17:43:34 UTC

[jira] [Closed] (OPENEJB-1602) Interceptors are not sorted correctly while intercept-ordering is used on override method name style

     [ https://issues.apache.org/jira/browse/OPENEJB-1602?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Louis MONTEIRO closed OPENEJB-1602.
----------------------------------------

    Resolution: Fixed

If it works, we can close ;-)
                
> Interceptors are not sorted correctly while intercept-ordering is used on override method name style
> ----------------------------------------------------------------------------------------------------
>
>                 Key: OPENEJB-1602
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1602
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: interceptors
>    Affects Versions: 4.0
>            Reporter: Ivan
>            Assignee: Ivan
>             Fix For: 4.0
>
>
> In current OpenEJB interceptor sorting algorithm, four levels are defined : PACKAGE, CLASS, OVERLOADED_METHOD, EXACT_METHOD. While from the spec side, it only configures three level : PACKAGE, CLASS, METHOD, And the OVERLOADED_METHOD is a solution to configure some methods with the same name at once. In the sample below, we will got a incorrect interceptor ordering :
> class MyBean {
>    @Interceptors{{Interceptor1.class, Interceptor2.class}}
>    public method1()  
> }
> In the deployment plan, we have the configurations below :
> <interceptor-binding>
>             <ejb-name>MyBean </ejb-name>
>             <interceptor-order>
>                 <interceptor-class>org.apache.openejb.interceptor.Interceptor2</interceptor-class>
>                 <interceptor-class>org.apache.openejb.interceptor.Interceptor1</interceptor-class>
>             </interceptor-order>
>             <method>
>                 <method-name>method1</method-name>
>             </method>
>         </interceptor-binding>
> Per the description in the spec about interceptor-order, the final order should be interceptor2 -> interceptor1. while now the final order is interceptor1, interceptor2, interceptor2, interceptor1. The root cause for it is that we have an extra level.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira