|
|
June 2004
[
jonas
]
12:53, Thursday, 24 June 2004
AspectWerkz 1.0-beta1 has been released.
Here are the release notes:
Amont many other things this release is shipped with a completely new pointcut grammar which is much more
expressive and powerful, and rich annotation support for both typed and untyped annotations.
-
Support for deploying several
aop.xml
Aspect defintion/deployment files alongside deployed
application (WEB-INF/aop.xml
, META-INF/aop.xml
) and have them following
the classloader hierarchy.
-
One single API to access both JavaDoc-style and Java 1.5 annotations, allows using them
together seamlessly.
-
Typed and untyped annotations for JavaDoc-style annotations.
Supports the same parameters types as Java 1.5 annotations and has strongly
typed compile time checking (using a new annotation compiler).
-
within
and withincode
pointcuts
-
More expressive
cflow
pointcuts that can take any pointcut
expression as "parameter" and can be used to build arbitrary nested expressions.
-
Matching on annotations.
-
Matching on modifiers (including
!public
and NOT static
etc.)
-
Matching on subtypes for parameters and return values.
-
System wide pointcuts (in the XML deployment descriptor).
-
Pointcut references (refer to pointcuts defined in other aspects than the one you are using it in).
-
JSR-163 JVMTI support for Java 1.5 class load time weaving with
-javaagent:
-
JoinPoint class is now serializable.
-
JoinPoint instances can be "resetted", to start over a complete advice chain (useful for failover etc.).
-
Documentation enhanced and refactored.
-
Introductory tutorials.
-
Some bug fixes.
-
Please note that there are changes to the way annotations (formerly call attributes)
are complied and retrieved. F.e.
AspectC
has been replaced by AnnontationC
and has slightly different options, so to compile the aspects use AnnotationC
from now on.
Download it here
Enjoy.
AspectWerkz 0.10 final has been released.
Download it.
This release is mainly a bug-fix release one month after 0.10.RC2, but brings lot of change compared to 0.9.
The following is the list of main differences compared to 0.9:
Read 0.10.RC2 release notes and 0.10.RC1 release notes.
- JIT compilation of JoinPoint for better performance
- Expressiveness and orthogonality with a more complete grammar
- Runtime weaving capabilities, the low layer for the upcoming hotdeployement feature
- Aspects can be any Java class and extend anything they like
- Retrieval of information about the system, adding and reading of parameters and metadata etc. is done through the CrossCuttingInfo class. An aspect or mixin that is interested in accessing this info should have a constructor that takes a CrossCuttingInfo instance as its only parameter. See the docs for details.
- Pluggable aspect container - The possibility to provide your own aspect container implementation is back. Useful if you need to control how your aspects are instantiated for example if you want that to be handled by an IoC container (Spring, PicoContainer etc.))
The following is the list of bug fix in 0.10 that were affecting 0.10.RC2:
- A thread safe issue has been fixed in the join point execution model.
- IBM JRE support has been fixed.
- Unix/Linux comamnd line scripts has been fixed (was missing bcel.jar).
- Exception throwned by method of weaved classes are not wrapped anymore. Exception throwned by mixin implementation are not wrapped anymore.
- JIT JoinPoint compilation is now thread safe.
- serialVersionUID computation fixed.
- Due to a lack of within expression support in the pointcut grammar (addressed in 1.0), the handler pointcut are very expensive to match. Those are deactivated by default. If your system uses those handler pointcuts, you have to add the -Daspectwerkz.handler.pointcut=true JVM option when starting up your JVM.
Note that the CVS has been migrated.
Check the instructions and update your tools.
Enjoy.
[
avasseur
]
18:10, Saturday, 5 June 2004
Our tutorial on how to enable AspectWerkz AOP using the Management API of BEA JRockit has been published on BEA dev2dev.
In this article, you will learn the basic AOP concepts as well as how to apply AOP to your J2EE applications using AspectWerkz, a dynamic AOP framework. The hands-on tutorial explains how to use AOP to track EJB CMP's container generated JDBC queries.
You will learn how to integrate AOP in your BEA environment, using a standard offline class post-processing mechanism, class-load time integration in BEA WebLogic Server 8.1 and a dedicated BEA JRockit Management API module that delivers best performance with a minimal integration effort.
Many of you were asking for some tutorial so I hope this article will give you a quick start to AspectWerkz AOP.
The same tutorial could be replayed using Sun VM integration scheme we provide in AspectWerkz, and can probably be applied easily to some other container you like.
Enjoy and apologies for yet another tracing sample, but don't miss it, the goal is not to understand what is the tracing aspect, but to demonstrate the value of an efficient class load time architecture for AOP weaving.
Read tutorial on BEA dev2dev
Read about the AspectWerkz JRockit extension
Read about AspectWerkz integration schemes
|