[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Re - Profiling Public Interface of an API

You need to put lib1 in the aspectpath of lib2 also, not just the classpath.
The weaver only applies the effects of aspects in the aspectpath (when you
build statically, e.g., in AJDT). In Eclipse, if you open the project
properties, click on "AspectJ Aspect Path" to configure this...

-----Original Message-----
From: aspectj-users-bounces@xxxxxxxxxxx
[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Trasca Virgil
Sent: Saturday, March 18, 2006 7:46 AM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] Re - Profiling Public Interface of an API



     Hi Ron,

        I think your aproach will work. But I tried it
and I am not able to cathc any calls from lib2 to
lib1. I think I am missing something.
My code is:

pointcut whenAPIMethodIsCalled(): call (public *
amdocs.APILink..* (..)) && !within(TestAPI); 

pointcut externalAPIMethodIsCalled() : 
whenAPIMethodIsCalled() && !within(amdocs.APILink..*)
&& within(amdocs.prmjspbean..*);
    
  APILink = lib1,prmjspbean=lib2. The AspectJ code is
in lib1 for the moment and I will prefer to remain
there as it will take me some time if I will have to
move it to lib2.

   I am compiling with AspectJ both lib1 and lib2 in
this order. In the classpath of lib2 I have lib1. What
I am missing?

Thanks,
Virgil



--- aspectj-users-request@xxxxxxxxxxx wrote:

> Send aspectj-users mailing list submissions to
> 	aspectj-users@xxxxxxxxxxx
> 
> To subscribe or unsubscribe via the World Wide Web,
> visit
> 
>
https://dev.eclipse.org/mailman/listinfo/aspectj-users
> or, via email, send a message with subject or body
> 'help' to
> 	aspectj-users-request@xxxxxxxxxxx
> 
> You can reach the person managing the list at
> 	aspectj-users-owner@xxxxxxxxxxx
> 
> When replying, please edit your Subject line so it
> is more specific
> than "Re: Contents of aspectj-users digest..."
> 
> 
> Today's Topics:
> 
>    1. cflowid generation and use (eight ball)
>    2. RE: cflowid generation and use (Ron Bodkin)
>    3. Profiling Public Interface of an API (Trasca
> Virgil)
>    4. RE: Profiling Public Interface of an API (Ron
> Bodkin)
>    5. Announcing AOP@Work Article: Next Steps With
> Aspects (After
>       Learning Advice) (Nick Lesiecki)
>    6. Re: New AspectJ compiler is very slow under
> AJDT (Andy Clement)
> 
> 
>
----------------------------------------------------------------------
> 
> Message: 1
> Date: Fri, 17 Mar 2006 18:50:01 +0000
> From: "eight ball" <eight_ball_27@xxxxxxxxxxx>
> Subject: [aspectj-users] cflowid generation and use
> To: aspectj-users@xxxxxxxxxxx
> Message-ID:
> <BAY17-F1024C75CD35E737A499242BEE40@xxxxxxx>
> Content-Type: text/plain; charset=iso-8859-1;
> format=flowed
> 
> Hello all,
> 
> I'm working in a project that involves integrating
> some legacy j2ee 
> application into a larger system. It's a requirement
> for this project (and 
> for any project i would presume...) that logs should
> provide traceability 
> via some unique identifier common to all the calls
> inside a call flow 
> (containermanaged or not). The legacy part already
> uses log4j for logging, 
> as will the new parts.
> 
> I've been away (maybe for too long) from aspectJ,
> and would appreciate if 
> anyone could give me any hints on the ability of
> aspectJ to weave both the 
> initial generation of the unique cflow id in the
> servlet layer and its use 
> in all the log statements both in the new and (most
> important) legacy 
> components. This is, as stated above a J2EE
> environment, containg both 
> servlets, web service endpoints, ejbs and POJOs.
> 
> Any help would be higly appreciated.
> Thanks.
> 
>
_________________________________________________________________
> COPA 2006: Enfeite o seu MSN Messenger de verde e
> amarelo! 
> http://copa.br.msn.com/extra/emoticons/
> 
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Fri, 17 Mar 2006 11:36:43 -0800
> From: "Ron Bodkin" <rbodkin@xxxxxxxxxxxxxx>
> Subject: RE: [aspectj-users] cflowid generation and
> use
> To: <aspectj-users@xxxxxxxxxxx>
> Message-ID: <014701c649fa$1f999b90$0202a8c0@Aqua>
> Content-Type: text/plain;	charset="us-ascii"
> 
> Hi There,
> 
> Are you needing to weave distributed calls (between
> processes/across VM's),
> or just weave into different component types
> deployed in the same container?
> Using cflow with the latter works well as long as
> you deploy your aspect at
> the right level of the ClassLoader hierarchy (i.e.,
> as an application-level
> library). Doing the former takes a bit more work
> (you can add a wrapper
> invocation method with an additional parameter to
> automatically thread the
> data, use stateful services with a handshake
> protocol, or have the API's
> explicitly include the parameter).
> 
> -----Original Message-----
> From: aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf
> Of eight ball
> Sent: Friday, March 17, 2006 10:50 AM
> To: aspectj-users@xxxxxxxxxxx
> Subject: [aspectj-users] cflowid generation and use
> 
> Hello all,
> 
> I'm working in a project that involves integrating
> some legacy j2ee 
> application into a larger system. It's a requirement
> for this project (and 
> for any project i would presume...) that logs should
> provide traceability 
> via some unique identifier common to all the calls
> inside a call flow 
> (containermanaged or not). The legacy part already
> uses log4j for logging, 
> as will the new parts.
> 
> I've been away (maybe for too long) from aspectJ,
> and would appreciate if 
> anyone could give me any hints on the ability of
> aspectJ to weave both the 
> initial generation of the unique cflow id in the
> servlet layer and its use 
> in all the log statements both in the new and (most
> important) legacy 
> components. This is, as stated above a J2EE
> environment, containg both 
> servlets, web service endpoints, ejbs and POJOs.
> 
> Any help would be higly appreciated.
> Thanks.
> 
>
_________________________________________________________________
> COPA 2006: Enfeite o seu MSN Messenger de verde e
> amarelo! 
> http://copa.br.msn.com/extra/emoticons/
> 
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/aspectj-users
> 
> 
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Fri, 17 Mar 2006 12:01:05 -0800 (PST)
> From: Trasca Virgil <virgil_trasca@xxxxxxxxx>
> Subject: [aspectj-users] Profiling Public Interface
> of an API
> To: aspectj-users@xxxxxxxxxxx
> Message-ID:
>
<20060317200105.56240.qmail@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain; charset=iso-8859-1
> 
> 
>     Hi,
> 
>      I have 1 very big Java EJB library lib1 and a
> consumer Web library lib2 which consumes lib1
> through
> public interface of lib1. lib1 can be built/compiled
> without lib2. What I want is to profile/trace with
> AspectJ all the calls from lib2 through lib1(the
> public interface of lib1). Until now I
> concentrated(I
> compiled) myself just on lib1 writting all kind of
> pointcut trying to get all calls to public interface
> of lib1 but without many succes(because sometimes
> lib1
> makes calls also to lib1 and I am not intersted in
> that ones). Just today I realised that the best
> aproach is to compile with aspectj lib2 and to catch
> there call to lib1(because finally this is what I am
> intersted to profile the public interface of lib1).
> Is
> that true? The problem is that I already wrote the
> profiling code in lib1 and it could be not so easy
> to
> move it to lib2?
> Can I compile somehow with aspectj also lib1 & lib2
> and 
> to continue to keep the pointcuts code in lib1 and
> 
=== message truncated ===

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users