That's correct. (Matthew is by now likely off work for the weekend.) Related:
- cflow also does not span remote calls, even though the calling thread is blocked for the duration of the call: http://www.eclipse.org/aspectj/doc/next/faq.html#q:aspectjandj2ee - Adrian published code for tracking a sequence of join points at http://www.aspectprogrammer.org/blogs/adrian/2005/04/aspects_as_auto.html - Gregor wrote an aspect defining a "control flow" that included threads spawned by a thread. If someone's interested, I can hunt around for it. Wes > ------------Original Message------------ > From: G Balaji <[EMAIL PROTECTED]> > To: [email protected] > Date: Fri, Sep-29-2006 5:39 AM > Subject: Re: [aspectj-users] Garbage collection of aspect instances > > Matthew, > > Thank you for your kind response. > > About cflow and cflowbelow, I have another question: > In the Programming Guide (or the Developers Guide), I remember reading > that cflow and cflowbelow are restricted to a single thread. > > So, in the context of this program, > > aspect PCFAspect percflow(execution (A.methodA())) { > // advices for some point cuts.. > } > > class A { > void methodA() { > doSomething1(); > Thread t = new Thread(new B(this)); > t.start(); > doSomething2(); > } > // .. other methods exist so that there are no compilation errors. > } // end of class A > > class B implements Runnable { > A a; > B{A ainstance) { > this.a = ainstance; > } > public void run() { > if (shouldCallMethodA()) a.methodA(); // <= Refered to below > else a.doSomething3(); > } > // .. other methods exist so that there are no compilation errors. > } // end of class B > > Please validate these statements: > 1. When the a.methodA() marked above is executed, the cflow of the > (second) methodA() execution will instantiate a new aspect instance > 2. The cflow picked out by cflow(execution (B.run())) is not within the > cflow or cflowbelow of execution (A.methodA()) > > [Note: I have not compiled the above program.. I hope there are no > material errors, and that my questions' intention is conveyed > unambiguously. If not, please let me know..] > > Thanks, > Balaji > > ----- Original Message ---- > From: Matthew Webster <[EMAIL PROTECTED]> > To: [email protected] > Sent: Friday, September 29, 2006 4:04:44 AM > Subject: Re: [aspectj-users] Garbage collection of aspect instances > > > Balaji, > > The statements are all correct without any qualifications. > > Matthew Webster > AOSD Project > Java Technology Centre, MP146 > IBM Hursley Park, Winchester, SO21 2JN, England > Telephone: +44 196 2816139 (external) 246139 (internal) > Email: Matthew Webster/UK/IBM @ IBMGB, [EMAIL PROTECTED] > http://w3.hursley.ibm.com/~websterm/ > > > G Balaji <[EMAIL PROTECTED]> > Sent by: [EMAIL PROTECTED] > 28/09/2006 19:34 Please respond to > [email protected] > > ToAspectJ User Mailing List <[email protected]> > cc > Subject[aspectj-users] Garbage collection of aspect instances > > > > > > > > Dear AspectJ Users, > > Can the experts and/or knowledgeable people please validate these > statements below: > 1. issingleton aspect instances are gc-ed(*) when the class loader that > loaded the aspects is gc-ed. > 2. pertypewithin aspect instances are gc-ed when the class loader that > loaded the types is gc-ed. > 3. perthis and pertarget aspect instances are gc-ed when this (or > target) is gc-ed. > 4. percflow and percflowbelow aspect instances are gc-ed when the cflow > (or cflowbelow) are complete > > (*) gc-ed => eligible for garbage collection. > > If these statements are generally correct, but are qualified in certain > situations, I would be interested to know these situations too. > > Thanks, > Balaji > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
