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.
> >>>>
> >>>
> >>>
> >>
>

Reply via email to