The purpose of this aspect is to allow you to easily expose your objects as JMX mbeans.
In order to be able to use this aspect, you need to define two pointcuts: one specifying which classes to transform (named mbeansClasses) as DynamicMBean and NotificationEmitter and another one (named mbeansToRegister) indicating when should the registration of your objects as managed beans should be done.
Usually you use a class pointcut for mbeansClasses and a method pointcut for mbeansToRegister in order to intercept constructor calls to the classes you picked in mbeansClasses.
Classes you would like to weave need a XML file describing the JMX constructors, operations, attributes and notifications you'd like to expose. This aspect for each class weaved (let's say class foo.bar.C) looks for a resource named with the name of the class suffixed by -mbean.xml (so C-mbean.xml for example) in the same package (so foo.bar) as the one of the class.
Here is a sample class definition file:
Here is a sample aspectwerkz.xml file: