Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] AJDT 1.3 and aspectj

Hi Ron -

(Some comments while Andy is home...)

As between advice in two aspects unrelated by precedence, there are 
no guarantees about order on a join point, even from compile to compile.

There may of course be engineering regularities between compiles and
between versions of the compiler/weaver !

When you say the system gradually fails over 4 hours or so, you're
suspecting that a leak in memory or transactions?  I can't tell if
you're suspecting that the advice stops running or if it is running
at the wrong times, and how that would cause it to fail not immediately
but after 4 hours.

Also, when you say you migrated from 1.2 variants, did you change the
code or just the compiler/weaver?  If you changed the code, you might
have introduced some semantic difference.  You might try building and
running the 1.2.1 code under AspectJ 1.5.

Finally, it might help to see when advice operations fail (in part
since your advice catch and ignore exceptions).

  aspect LogAdviceExceptions {
     after() throwing(Throwable t) : adviceexecution() 
        && !within(LogAdviceExceptions) && within({youraspects}) {
        // log...
     }
  }

Failures that take 4 hours to show up are particularly annoying!

Wes

> ------------Original Message------------
> From: "Ron DiFrango" <rdifrango@xxxxxxxxxxxxxxxxxxx>
> To: "Andy Clement" <andrew.clement@xxxxxxxxx>, aspectj-users@xxxxxxxxxxx
> Date: Tue, Oct-4-2005 8:14 AM
> Subject: RE: [aspectj-users] AJDT 1.3 and aspectj
>
> Andy,
>  
> One more thought though and this is likely bad on my part.  Since I 
> have not established precednce between my aspects, how does aspectj 
> determine how to apply overlapping concerns to a single source file?
>  
> Ron
> 
> 	-----Original Message----- 
> 	From: Andy Clement [mailto:andrew.clement@xxxxxxxxx] 
> 	Sent: Tue 10/4/2005 9:34 AM 
> 	To: Ron DiFrango 
> 	Cc: 
> 	Subject: Re: [aspectj-users] AJDT 1.3 and aspectj
> 	
> 	
> 
> 	We haven't changed precedence rules so that won't be the problem.
> 	Eclipse 3.1 AJDT currently includes the latest AspectJ Development
> 	builds of AJ5 - we are upgrading AJDT with a new AJ at least every
> 	Monday.  You can decompile the classes to see their woven form - but
> 	I'd say as a first pass use -showWeaveInfo to verify everything that
> 	was getting advised with 1.2 is still getting advised with 1.5.
> 	
> 	If the bytecode is broken in some way, my guess would be a method with
> 	a finally block being advised and the finally block not executing as
> 	expected.  Can you put some diagnostic advice on the calls in the
> 	finally block that should be clearing resources and verify the
> 	clearing up is happening as expected?
> 	
> 	Andy.
> 	
> 	On 04/10/05, Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx> wrote:
> 	> Andy,
> 	>
> 	> I will do that this evening [I will have to get my ANT build going] 
> to see what happens.  Whcih version of aspectj is built into the AJDT 
> version for Eclipse 3.1.
> 	>
> 	> Also, one other thought, all these aspect for transaction control, 
> etc. are store in seperate files.  So I am wondering if order/precedence 
> has changed between versions and is causing the transaction boundaries 
> to get started/stopped at the wrong points in the application.
> 	>
> 	> Boy, I wish we have a generate source option from aspectj 1.2 on 
> wards so I could see this a whole lot easier :-)
> 	>
> 	> Ron
> 	>
> 	
> 
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> 
> 



Back to the top