AOPDependencyBuilder:
1) Checks for any dependencies from "normal" aspects requiring a proxy
or weaving
2) Checks for dependencies from aop lifecycle callbacks, and also puts
those in the KernelControllerContext's DependencyInfo. These do not
require a proxy orweaving
AOPConstructorJoinpoint:
Checks for "normal" aspects (1 above) and creates an aop proxy if
those exist
As I mentioned here
, this can be made more fine-grained. We could only check for aop
lifecycle things like JMX in AOPDependencyBuilder and not bother with
all the rest of the "normal" bindings.
On 14 May 2009, at 21:04, Ales Justin wrote:
No, I think we're still at the level where you agree. :-)
As this "not" can only be applied to AOPDependencyBuilder,
not on the AOPConstructorJoinpoint.
Or I think it's just the other way around. Kabir would know better.
Somewhere AOP does kick in, as it knows how to add AOP's lifecycle
callbacks to ControllerContext.
Brian Stansberry wrote:
> If not, that re-opens the discussion as to whether @DisableAOP
> should be required, or should be default behavior with an
> @EnableAOP. Since AFAICT the thing that made me thing enabling it
> was required for the common case was @JMX.
> Ales Justin wrote:
>> I don't think we need AOPBD for this. Kabir?
>>
>> Hmmm, perhaps something like this should be on the @DisableAOP:
>> @DisableAOP(allow={INSTANTIATE})
>> which would mean we don't use AOPDB - since the aspect we expect
>> with this bean don't have any dependencies,
>> but we do want AOP proxy instantiation, since we *do* expect the
>> bean to be aspectized.
>>
>> Jason T. Greene wrote:
>>> Ok, so then, why do we need AOPDependencyBuilder to use @JMX? Yes
>>> I know the dep builder allows for users to add aspects after the
>>> fact, but this is a near *useless* feature, especially for our
>>> core components.
>>>
>>> Brian Stansberry wrote:
>>>> The registration of the @JMX handling is in the bootstrap, in
>>>> bootstrap/jmx.xml.
>>>>
>>>> Jason T. Greene wrote:
>>>>> Ales Justin wrote:
>>>>>> (2) @org.jboss.aop.microcontainer.annotations.DisableAOP
>>>>>>
>>>>>> This one instructs MC to ignore transparent AOP usage when
>>>>>> handling your bean.
>>>>>> It will not look for aspect dependencies or try to create an
>>>>>> AOP proxy.
>>>>>> It will simply fall back to plain POJO handling.
>>>>>>
>>>>>> If you use @JMX or anything similar, this should then *not* be
>>>>>> used.
>>>>>> But for anything else it should be good to use it.
>>>>>
>>>>> Can we fix the @JMX (and other known cases) by deploying them
>>>>> sooner, as part of the bootstrap for example?
>>>>> _______________________________________________
>>>>> jboss-development mailing list
>>>>> jboss-development(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>
>>>>
>>>
>>> _______________________________________________
>>> jboss-development mailing list
>>> jboss-development(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/jboss-development
>>>
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/jboss-development
_______________________________________________
jboss-development mailing list
jboss-development(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-development