Introduction to Aspect-Oriented Programming
Subject:   crosscutting, not static+ or just interception
Date:   2004-01-19 03:33:37
From:   anonymous2
Response to: crosscutting, not static+ or just interception

"to mess with system class loader reweaving as AspectWerkz does".
Note that the class load time weaving (online mode) will be standardized in Java 1.5 JSR 163.

Online mode adress different use-cases. I will not ask a team to compile a whole weblogic distrib to do some instrumentation. Instead, I would plug the weaver in WebLogic and all my team members work will be unchanged. Online mode can provide the backend for AOP middleware. With offline compilation, you cannot adress the same needs. AspectWerkz just provide both.
With the AspectWerkz JRockit module, this is not mess, this is just use of BEA API, as it will be with Java 1.5.

"AspectJ doesn't offer examples of load-time weaving"
Wrong. BEA has released "AspectSystem" extension that do class load time weaving with AspectJ on a weblogic 8.1

Please also note that the class load time weaving has been a research area in AOP for several years already. The error you pointed out regarding bad pattern etc can be catched in QA, at aspect compilation phase (metadata JSR-163 style defined aspect - see AspectWerkz model 2), or even with tool integration.

Alex @ AspectWerkz