AspectWerkz is a dynamic, lightweight and
high-performant AOP framework for Java.
AspectWerkz offers both power and simplicity
and will help you to easily integrate AOP in both new and
AspectWerkz utilizes bytecode
modification to weave your classes at project build-time, class load time or runtime. It hooks in
using standardized JVM level APIs.
It has a rich and highly orthogonal join point model. Aspects, advices and
introductions are written in plain Java and your target
classes can be regular POJOs.
You have the possibility to add, remove and re-structure
advice as well as swapping the implementation of your
introductions at runtime.
Your aspects can be defined using either Java 5 annotations,
Java 1.3/1.4 custom doclets or a simple XML definition
AspectWerkz provides an API to use the very same aspects for proxies, hence
providing a transparent experience, allowing a smooth transition
for users familiar with proxies.
AspectWerkz performance is reported in this separate project.
AspectWerkz is Free Software. The
LGPL-style license allows the use of
in both commercial and open source projects.
The AspectJ and AspectWerkz projects have agreed to work together as one team to produce a single aspect-oriented programming platform building on their complementary strengths and expertise. Read the announcement published on January 2005.
AspectWerkz 1.x documentation and release notes has been moved here. AspectWerkz 1.0 is still actively supported but you are strongly encouraged to migrate to AspectWerkz 2.x.