Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Purpose

The purpose of this aspect is to allow you to easily expose your objects as JMX mbeans.

Usage

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.

...

Code Block
xml
xml
<aspectwerkz>
  <system id="aspectwerkz-aware">
    <package name="org.codehaus.aware.jmx">
      <aspect class="MBeanRegistrationAspect">
        <param name="domain" value="test"/>
        <pointcut name="mbeansClasses" expression="class(org.codehaus.aware.jmx.DummyObject)"/>
        <pointcut name="mbeansToRegister" expression="execution(org.codehaus.aware.jmx.DummyObject.new(..))"/>
      </aspect>
    </package>
  </system>
</aspectwerkz>

See Also

MBeanNotificationAspect.