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