Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] aspectj configuration question

Oh yes, OR - my sample was just showing you that multiple type
patterns are combined in a single scope statement, and due to it being
XML it is better to avoid needing to escape things like && or || by
using the words.

Andy

On 26 October 2010 23:00,  <jeanlouis.pasturel@xxxxxxxxxxxxxxxxxx> wrote:
>
> <aspect name="A" scope="com.foo.A AND org.x.B"/>
> AND ? I would expect an OR statement
> I will test it ...
>
> Cordialement / Best regards
>
> Jean-Louis Pasturel
>
>
> -----Message d'origine-----
> De : aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] De la part de Andy Clement
> Envoyé : mardi 26 octobre 2010 18:32
> À : aspectj-users@xxxxxxxxxxx
> Objet : Re: [aspectj-users] aspectj configuration question
>
> I believe they are type patterns
>
> <aspect name="A" scope="com.foo.A AND org.x.B"/>
>
> not sure i have any testcases for that though...
>
> Andy
>
> On 25 October 2010 10:57, yohan chandra <yohan.chandra@xxxxxxxxx> wrote:
>> Thanks for the answer, I will try the aspect scoping mechanism as
> mentioned.
>>
>> One question: Suppose If i have multiple classes in scope for an
>> aspect, how would i define it?
>>
>> Will I have to define it twice?
>> <aspect name="A" scope="com.foo.A">
>> <aspect name="A" scope="org.x.B">
>>
>> or does scope have any delimiter? comma for example:
>> <aspect name="A" scope="com.foo.A, org.x.B">
>>
>> Regards,
>> - yohan chandra -
>>
>> On Fri, Oct 22, 2010 at 2:34 PM, Andy Clement
>> <andrew.clement@xxxxxxxxx>
>> wrote:
>>>
>>> Few points:
>>>
>>> > 2.is there any way to configure specific aspect to weave only
>>> > specific class(es), example: AspectA weaves only servicesA?
>>>
>>> You can do this actually, in the XML.  See the AOP Scoping section in
>>> the 1.6.9 readme:
>>> http://www.eclipse.org/aspectj/doc/released/README-169.html
>>>
>>> The options Andrew referenced are actually on by default for loadtime
>>> weaving, they are only experimental (and so you have to actively turn
>>> them on) if you are working in AJDT with compile time weaving.
>>>
>>> > Thanks for the answer. I actually have applied the 1st approach,
>>> > the pointcuts and advices defined in aspectA are applied to
>>> > serviceA only and it's working well. However the issue is with
>>> > memory I believe even though only specific pointcut is applied, the
>>> > class has been woven by other unrelated aspects and this consumes
>>> > memory.
>>> > I monitored my app and I noticed a large increase of memory usage
>>> > since AspectJ got implemented. I took the heap dump and significant
>>> > portion of it are AspectJ related instances.
>>>
>>> The classes wont be woven by other unrelated aspects unless they
>>> matched the classes in some way.
>>>
>>> > My app has lots of aspects and lots of "include within" classes. As
>>> > I watch from the log, each of this "include within" class is woven
>>> > with number of aspects that I have, even though only specific
>>> > aspect will be applied later by the pointcut.
>>>
>>> Perhaps you mean 'matched' rather than 'woven'?  Every class will be
>>> matched against every aspect, but only those that match the type will
>>> affect it.  If you are seeing aspects that don't match a type being
>>> woven into it, that would be an AspectJ bug?
>>>
>>> > Suppose If i have 20 aspects and 30 "include within" classes the
>>> > total number will be 600. I am trying to reduce the memory usage of
>>> > my AspectJ implementation as much as i can so it can go into
>>> > production but currently I am blocked.
>>>
>>> Yes, 20 aspects, 30 classes.  each class will be matched against all
>>> 20 aspects, but if your pointcuts dont match it, the type will not be
>>> woven by an aspect.
>>>
>>> How about just trying the aop scoping mechanism I mentioned ?
>>>
>>> Andy
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
>
> *********************************
> This message and any attachments (the "message") are confidential and intended solely for the addressees.
> Any unauthorised use or dissemination is prohibited.
> Messages are susceptible to alteration.
> France Telecom Group shall not be liable for the message if altered, changed or falsified.
> If you are not the intended addressee of this message, please cancel it immediately and inform the sender.
> ********************************
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top