Bug 350855

Summary: overweaving misbehaving when subclassing WeavingURLClassLoader
Product: [Tools] AspectJ Reporter: Andrew Clement <aclement>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P2    
Version: DEVELOPMENT   
Target Milestone: 1.6.12   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Andrew Clement CLA 2011-06-30 11:32:19 EDT
Raised by the Spring Insight team, they observed that in a system where they are using a special classloader (subclassing weaving url classloader) they see it fail to weave an aspect if overweaving is on.
Comment 1 Andrew Clement CLA 2011-06-30 11:35:18 EDT
The problem here is how the aspect gets registered with the weaver.  If reweaving then when the reweaving code encounters the aspect, it defines it there and then.  If overweaving is running then we don't do that, we only register new aspects (ignoring existing ones), since we are applying the new ones over the top of the old ones.  However, if the aspects on the aspectpath they should still be defined to the weaver even when overweaving.  The fix is in BcelWeaver to ensure we still add aspects from the aspectpath even when overweaving.

This fix has been put into 1.6.12 but also into a special 1.6.11.SR1 build that Insight are going to use.