AspectWerkz 2

Simple, high-performant, dynamic, lightweight and powerful AOP for Java

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 existing projects.

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 file.

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 AspectWerkz 2.0 in both commercial and open source projects.

AOSD.06 March 20-24: Bonn, Germany

AspectJ and AspectWerkz join forces

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.

Notes on AspectWerkz 1.x

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.