[cdi-dev] Subclassing?
Mark Struberg
struberg at yahoo.de
Mon Sep 17 18:04:25 EDT 2012
Not sure if the trick with the ThreadLocal would work (aside from being dog slow).
A->B->A should all lead to decorator invocations. Is this the case with your impl? (B might be another Decorator or a simple Bean)
LieGrue,
strub
----- Original Message -----
> From: Stuart Douglas <stuart.w.douglas at gmail.com>
> To: Mark Struberg <struberg at yahoo.de>
> Cc: Pete Muir <pmuir at redhat.com>; Romain Manni-Bucau <rmannibucau at gmail.com>; "cdi-dev at lists.jboss.org" <cdi-dev at lists.jboss.org>
> Sent: Monday, September 17, 2012 11:31 PM
> Subject: Re: [cdi-dev] Subclassing?
>
>
>
> Mark Struberg wrote:
>> The main difference we get from subclassing is that even 'internal
> invocations' (contrary to 'external invocations') will invoke the
> decorator method
>>
>> example
>>
>> public Class A implements X {
>>
>>
>> public void methA() {..}
>> public void methB() { methA(); }
>>
>> }
>>
>> @Decorator
>> public class Adecorator implements X {
>> @Inject @Delegate X x;
>>
>> public void methA();
>> }
>>
>> If we do _not_ apply subclassing but proxying, then invoking methB will NOT
> trigger methA from Adecorator.
>> If we DO force subclassing, then a call to methB will also trigger the
> decorator!
>>
>> But that is contrary to all other EE proxying behaviour so far...
>
>
> In weld we currently use a thread local to work around this, so self
> invocation does not result in interceptors / decorators running again.
>
> Stuart
>
>>
>>
>> LieGrue,
>> strub
>>
>>
>>
>> ----- Original Message -----
>>> From: Pete Muir<pmuir at redhat.com>
>>> To: Romain Manni-Bucau<rmannibucau at gmail.com>
>>> Cc: "cdi-dev at lists.jboss.org"<cdi-dev at lists.jboss.org>
>>> Sent: Monday, September 17, 2012 5:58 PM
>>> Subject: Re: [cdi-dev] Subclassing?
>>>
>>> Romain,
>>>
>>> I agree, we can't specify to use subclassing. Please take a look at
>>> https://github.com/jboss/cdi/pull/117 where I've tried to address
> this, in
>>> terms of what effects people will see.
>>>
>>> On 17 Sep 2012, at 16:54, Romain Manni-Bucau wrote:
>>>
>>>> Hi,
>>>>
>>>> There is a bunch of jira to specify subclassing should be used in
> some
>>> cases so i mail here instead of answering all jira.
>>>> IMO it is specifying too much the technical part: specify the
> constructor
>>> should be called twice is better for a spec IMHO (but this case is not
> logical
>>> at all ;))
>>>> Why this need?
>>>>
>>>> - Romain
>>>>
>>>> _______________________________________________
>>>> cdi-dev mailing list
>>>> cdi-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>
>>> _______________________________________________
>>> cdi-dev mailing list
>>> cdi-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>
>>
>> _______________________________________________
>> cdi-dev mailing list
>> cdi-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>
More information about the cdi-dev
mailing list