    <?xml version="1.0" encoding="UTF-8"?>

    <aop>

        <!-- Instrument the classes for AOP -->
       <prepare expr="all(org.jboss.test.aop.bean.Temperature)"/>
       <prepare expr="all(org.jboss.test.aop.bean.LogUtil)"/>
       <prepare expr="all(org.jboss.test.aop.bean.ObservableTester)"/>

       <!-- Make the Temperature POJO a Subject/Observerable -->
       <bind pointcut="set(* org.jboss.test.aop.bean.Temperature->*)">
          <interceptor class="org.jboss.aop.patterns.observable.SubjectInterceptor"/>
       </bind>
       <introduction class="org.jboss.test.aop.bean.Temperature">
          <mixin>
             <interfaces>org.jboss.aop.patterns.observable.Subject</interfaces>
             <class>org.jboss.aop.patterns.observable.SubjectImpl</class>
             <construction>new org.jboss.aop.patterns.observable.SubjectImpl(this)</construction>
          </mixin>
       </introduction>

       <!-- Make the LogUtil an Observer -->
       <introduction class="org.jboss.test.aop.bean.LogUtil">
          <mixin>
             <interfaces>org.jboss.aop.patterns.observable.Observer</interfaces>
             <class>org.jboss.test.aop.bean.LogUtilObserver</class>
             <construction>new org.jboss.test.aop.bean.LogUtilObserver(this)</construction>
          </mixin>
       </introduction>

    </aop>