Yep, Was the first issue, then a forest but now it should be done ;)
Le 12 févr. 2012 16:49, "dsh" <[email protected]> a écrit : > Take care of the tunnels ;) > > On Sun, Feb 12, 2012 at 4:38 PM, Romain Manni-Bucau > <[email protected]> wrote: > > created the issue: https://issues.apache.org/jira/browse/OPENEJB-1771 > > > > currently trying to commit a fix from the train :p > > > > - Romain > > > > > > 2012/2/11 Romain Manni-Bucau <[email protected]> > > > >> it sounds like a bug, > >> > >> thanks for the report, > >> > >> we'll have a deeper look ASAP > >> > >> - Romain > >> > >> > >> > >> 2012/2/11 Romain Manni-Bucau <[email protected]> > >> > >>> Hi, > >>> > >>> can you have a look at > >>> > http://svn.apache.org/repos/asf/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/interceptors/InterceptorBindingEjbTest.javato > >>> reproduce it please? > >>> > >>> - Romain > >>> > >>> > >>> > >>> 2012/2/11 og0815 <[email protected]> > >>> > >>>> Hi everybody, > >>>> > >>>> again I'm not 100% sure if I'm getting the spec right or found some > bug. > >>>> > >>>> Assume the following code. > >>>> > >>>> @Inherited > >>>> @InterceptorBinding > >>>> @Retention(RUNTIME) > >>>> @Target({METHOD, TYPE}) > >>>> public @interface MarkInterception { > >>>> } > >>>> > >>>> --- > >>>> > >>>> @Interceptor > >>>> @MarkInterception > >>>> public class MarkedInterceptor { > >>>> > >>>> @AroundInvoke > >>>> public Object manageTransaction(InvocationContext > invocationContext) > >>>> throws Exception { > >>>> System.out.println("Beginning Interceptor " + > invocationContext); > >>>> Object o = invocationContext.proceed(); > >>>> System.out.println("Ending Interceptor " + invocationContext); > >>>> return o; > >>>> } > >>>> } > >>>> > >>>> --- > >>>> > >>>> @Stateless > >>>> public class BeanOne { > >>>> > >>>> @MarkInterception > >>>> public void something() { > >>>> System.out.println("BeanOne.something"); > >>>> } > >>>> > >>>> } > >>>> > >>>> --- > >>>> > >>>> @Stateless > >>>> public class BeanTwo { > >>>> > >>>> @Inject > >>>> private BeanOne one; > >>>> > >>>> public void callOne() { > >>>> one.something(); > >>>> } > >>>> } > >>>> > >>>> --- > >>>> > >>>> Now if I call BeanTwo.callOne in a client I get the following expected > >>>> output: > >>>> > >>>> Beginning Interceptor InvocationContext(operation=BUSINESS, > >>>> target=BeanOne, > >>>> method=something) > >>>> BeanOne.something > >>>> Ending Interceptor InvocationContext(operation=BUSINESS, > target=BeanOne, > >>>> method=something) > >>>> > >>>> But, if I change the BeanTwo like this > >>>> > >>>> @Stateless > >>>> public class BeanTwo { > >>>> > >>>> @Inject > >>>> private BeanOne one; > >>>> > >>>> @MarkInterception > >>>> public void doNothing() { > >>>> > >>>> } > >>>> > >>>> public void callOne() { > >>>> one.something(); > >>>> } > >>>> > >>>> } > >>>> > >>>> the following happens: > >>>> > >>>> Beginning Interceptor InvocationContext(operation=BUSINESS, > >>>> target=BeanTwo, > >>>> method=callOne) > >>>> Beginning Interceptor InvocationContext(operation=BUSINESS, > >>>> target=BeanOne, > >>>> method=something) > >>>> BeanOne.something > >>>> Ending Interceptor InvocationContext(operation=BUSINESS, > target=BeanOne, > >>>> method=something) > >>>> Ending Interceptor InvocationContext(operation=BUSINESS, > target=BeanTwo, > >>>> method=callOne) > >>>> > >>>> Which means that also the callOne is now Intercepted. From my > >>>> understanding > >>>> the Interceptor annotation at method level should only intercept the > >>>> selected method but in this case it looks like it has become a > >>>> interceptor > >>>> for all methods. > >>>> > >>>> Again am I doing something weird or is this a bug ? > >>>> > >>>> Thanks, > >>>> Olli > >>>> > >>>> > >>>> -- > >>>> View this message in context: > >>>> > http://openejb.979440.n4.nabble.com/Wrong-CDI-Interception-in-OpenEJB-tp4378502p4378502.html > >>>> Sent from the OpenEJB Dev mailing list archive at Nabble.com. > >>>> > >>> > >>> > >> >
