[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] Garbage collection of aspect instances
|
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 <gopinathanbalaji@xxxxxxxxx>
> To: aspectj-users@xxxxxxxxxxx
> 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 <matthew_webster@xxxxxxxxxx>
> To: aspectj-users@xxxxxxxxxxx
> 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, matthew_webster@xxxxxxxxxx
> http://w3.hursley.ibm.com/~websterm/
>
>
> G Balaji <gopinathanbalaji@xxxxxxxxx>
> Sent by: aspectj-users-bounces@xxxxxxxxxxx
> 28/09/2006 19:34 Please respond to
> aspectj-users@xxxxxxxxxxx
>
> ToAspectJ User Mailing List <aspectj-users@xxxxxxxxxxx>
> 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
> 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
>