Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
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
>
>


Back to the top