When will AspectJ work from class files? When will it work at class-loading time?
Bytecode weaving is in AspectJ 1.1. We believe it works as described in an email to the users list by Jim Hugugin: The AspectJ language was designed to support weaving at many different times: compile, load, or even run-time in the JVM. Weaving into bytecodes at both compile and load-time will definitely be provided in a future release. This will allow weaving at compile-time into libraries for which source code is not available. It will also support aspect-aware class loaders that can perform weaving at load time on arbitrary classes. One advantage of a language like AspectJ, rather than an explicit meta-tool like jiapi, is that it separates the specification of a crosscutting concern from any particular implementation strategy for weaving. …AspectJ provides a language that can cleanly capture crosscutting concerns while preserving the static type checking, modularity, and composability of Java.