Community
Participate
Working Groups
This bug is to track a problem found during debugging bug 117854. We discovered that the code produced by cglib doesn't weave correctly if applying AspectJ after advice (or any AspectJ construct that is implemented via the 'after' mechanism - cflow/etc). The cglib code generated *is* valid - but AspectJ makes an assumption about it that is not entirely valid (although the assumption holds for all code created by other tools we've seen: javac, the jdtcompiler, etc). The workaround is to avoid weaving of CGLIB generated classes (identified by having CGLIB$$ in their name) - and this is probably correct for most users, as if they weave the proxies they are likely to get unpredictable results (advice running twice for example...) The full discussion is in the referenced bug. There is also a thread on the cglib mailing list where they would accept a patch to alter the generated code such that our assumption holds - I've just not had the time to do this.
not doing any more on this right now - googling on aspectj/cglib will find this bug in the future if the problem crops up.
Googling on AspectJ/CGLIB has not found it for me (while 117854 was found)
LATER/REMIND bugs are being automatically reopened as P5 because the LATER and REMIND resolutions are deprecated.