Today we (Jonas and Alex) released the 0.9 release candidate 1 version
of AspectWerkz (0.9.RC1).
This new release brings a new innovative Aspect model whose orginal idea
came from Ron Bodkin, one of the AspectJ brains. The new Aspects are
defined in a single java class, with fields being the pointcuts, methods
being the advices and inner classes being the introductions. The Aspects are
marked with JSR-175 style metadata (for now as doclets, until java 1.5 is
out), and the metadata is incorporated in class file bytecode. The XML
deployment descriptor is thus reduced to a minimal piece, and brings
Aspect packaging, abstraction and reuse to a new seamless integration
state.
The new Aspect model supports all AspectWerkz dynamic AOP features:
introduction replacements at runtime, advice replacements and removal.
This release provides support for both XML centric model (0.8 style) and
Self-defined Aspects.
The cross platform class-load time hooking has also been enhanced to
support IBM JRE and BEA JRockit.
We did the choice of releasing a Release Candidate to give our community
the ability to provide extensive feedback on all the new features
that bring AOP for java a step ahead.
The documentation is all included, with several samples that can be run
thru both Ant and Maven.
Jonas gave a talk at JavaPolis/BeJUG early december and the slides announcing this
new Aspect model can be found here.
New features:
- Model 2 - self-defined Aspects are one single java class, with regular
java inheritance and abstraction. Pointcuts and bindings are defined
with doclet metadata that gives today AOP the JSR-175 metadata facilities.
- IBM JRE support IBM JRE bundles a specific class loader. This one is
now supported in class-load time weaving hook architecture.
- BEA JRockit BEA JRockit (v7 and v8.1) comes with a JVM level
ClassPreProcessor mechanism. AspectWerkz is a pioneer and allows the use
class load time AOP on top of this JRockit feature.
Some of the other new things are:
- Fixed issues for field pointcuts, Pointcut algebra has been enhanced
- Documentation updated and reorganized. Many bug fixes.
The new release can be downloaded from here.
The BeJUG slides can be downloaded from here.
The self-defined Aspect model was presented in blogs here.