[jboss-dev-forums] [Design the new POJO MicroContainer] - Re: onDemand handling and aspects
kabir.khan@jboss.com
do-not-reply at jboss.com
Sat Nov 11 11:04:28 EST 2006
As part of http://www.jboss.com/index.html?module=bb&op=viewtopic&t=94575
I extended the AspectBeanMetaDataFactory so that instead of
| <bean name="JMXIntroduction" class="org.jboss.aop.microcontainer.beans.IntroductionBinding">
| <property name="classes">@org.jboss.aop.microcontainer.aspects.jmx.JMX</property>
| <property name="interfaces">
| <list elementClass="java.lang.String">
| <value>org.jboss.kernel.spi.dependency.KernelControllerContextAware</value>
| </list>
| </property>
| <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
| </bean>
| <beanfactory name="JMXAdvice" class="org.jboss.aop.microcontainer.aspects.jmx.JMXIntroduction">
| <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
| </beanfactory>
|
| <bean name="JMXAspect" class="org.jboss.aop.microcontainer.beans.Aspect">
| <property name="advice"><inject bean="JMXAdvice"/></property>
| <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
| </bean>
|
| <bean name="JMXBinding" class="org.jboss.aop.microcontainer.beans.AspectBinding">
| <property name="pointcut">execution(* @org.jboss.aop.microcontainer.aspects.jmx.JMX->$implements{org.jboss.kernel.spi.dependency.KernelControllerContextAware}(..))</property>
| <property name="aspect"><inject bean="JMXAspect" property="definition"/></property>
| <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
| </bean>
|
we can use
| <aop:lifecycle xmlns:aop="urn:jboss:aop-beans:1.0"
| name="JMXAdvice"
| class="org.jboss.aop.microcontainer.aspects.jmx.JMXIntroduction"
| classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
| manager-bean="AspectManager"
| manager-property="aspectManager"
| pointcut="execution(* @org.jboss.aop.microcontainer.aspects.jmx.JMX->$implements{org.jboss.kernel.spi.dependency.KernelControllerContextAware}(..))">
| <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
| </aop:lifecycle>
|
It is definitely easier and less verbose, but I did this before I saw Adrian's reply, which I have yet to digest :-)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3985149#3985149
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3985149
More information about the jboss-dev-forums
mailing list