Skip navigation

Bill Burke's Blog

August 2004 Previous month Next month


I am pleased to announce the release of JBoss AOP 1.0 RC1. A few new features have been added as well as some bugfixes. We've also expanded the documentation a bunch too. Unfortunately, I haven't had time to update the website yet, so if you want to view this documentation, please download the distribution. Kabir Khan helped out a lot in this release developing a bunch of features and fixing a few bugs as well.


Coming Soon


I want to do a full 1.0 release sometime in September. Kabir is joining JBoss Inc. September 1st so should be able to help out with this a lot. Some things coming down the pipe: Marshall Culpepper has been doing some great work with integrating JBoss AOP with Eclipse. I've heard he did a demo of it at the Dallas JUG a few weeks ago. Marshall is also joining JBoss Inc. in mid September so our AOP Eclipse integration should be available with the 1.0 release. As part of the release, we're also going to provide an optional replacement of XML deployment descriptors with annotations for those of you who despise XML.


1.0RC1 AOP Framework Changes

  • New $typedef feature. Allows you to define type expressions, name them, then use them in pointcut definitions. See the typedef example in tutorial.
  • added PER_JOINPOINT scoping for Aspects. An aspect instance is allocated per joinpoint.
  • aop now has a separate build for JDK 1.4 and JDK 1.5
  • AnnotationCompiler AnnotationElement now uses JDK 1.5 functions to obtaining metadata data.
  • add type specific Invocation generation for execution private and protected method, field get/set, and also caller side. Now there is no more reflection in optimization mode
  • break out of different set/get chains. There is now a separate interceptor/aspect chain for a field get and field set. Before they were the say
  • Put versioning info within JAR's manifest
  • Completely removed use of reflection from JBoss AOP. Performance microbench speedups for all joinpoint types.
  • InterceptorFactory.create now takes a Joinpoint argument so that you can create interceptors based on a Joinpoint.
  • Fixed bug in AspectManager.addClassMetaData
  • Fixed bug in redeploying of precompiled classes in JBoss.


1.0RC1 Aspect Library Changes

  • Make JDK 1.5 distributions
  • Put versioning info within JAR's manifest
  • Add JDK 1.5 annotations for Security, Tx, TxSynchronized, and asychronous
  • @Threadbased tag
  • private @inject Transaction field; Inject through IoC
  • private @inject TransactionManager field; Inject through IoC
  • @TransactionLocal tag
  • added SecurityContext class for getCallerPrincipal and isCallerInRole