[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [aspectj-users] Are there conflicts using LTW and CTW in the same application?
- From: Andy Clement <andrew.clement@xxxxxxxxx>
- Date: Mon, 11 Jun 2018 15:29:13 -0700
- Delivered-to: email@example.com
By default if you weave aspects on top of aspects then we use a model where we revert to the original class file before the first set of aspects was applied and apply all of them (the original aspects plus the new ones) at the same time to ensure consistency. This behavior is configurable using the overweaving option (Âhttp://andrewclement.blogspot.com/2010/05/aspectj-overweaving.html
). I'm not sure whether I suspect that though.
Is the aspect with the aspectOf() missing part of the CTW or the LTW?Â Was the LTW library built with javac or ajc? Building annotation style aspects with javac can be done but it will mean they are 'unfinished' and don't have aspectOf/hasAspect - those will be added later when a weaver sees them.
Is everything loaded by the same class loader?Â If you were LTWing some code but the aspects were loaded by a class loader not subject to weaving then this might happen. But then I know you are showing decompiled output that contains the missing methods.
I don't have an obvious answer but there are no known issues with mixing things up like this, really shouldn't be a race condition. You could turn on verbose output for LTW and see if the things you are expecting to get modified *are* modified.