[jboss-dev] @JMX and @DisableAOP live happily together

David M. Lloyd david.lloyd at redhat.com
Mon May 18 13:45:43 EDT 2009


OK, it seems like I had made a mistake in my test of this.

But there's really no reason to use AOP for this kind of thing.  AOP is no 
replacement for proper API design.  In fact it appears that AOP is one of 
the big contributors to our slow MC startup time [1].  The best way to 
implement handling of @JMX is with a simple deployment lifecycle listener 
which gets an instance of the bean and its metadata, and looks for a @JMX 
annotation.  Why is AOP needed for this trivial problem?

- DML

[1] http://www.jboss.org/index.html?module=bb&op=viewtopic&t=155244 which 
is really what this is all about

On 05/18/2009 12:19 PM, David M. Lloyd wrote:
> As far as I'm aware, MBeans don't normally have lifecycle methods 
> outside of the methods on f.e. MBeanRegistration or PersistentMBean or 
> whatever (in other words, managed by the MBeanServer and not the MC).  
> If the bean's mbean view is being registered to the MBeanServer, what 
> else could it be doing that it's not?
> 
> The idea that @JMX doesn't work with @DisableAOP was (iirc) the primary 
> argument against having AOP disabled by default, but it seems to me that 
> this is not true.
> 
> - DML
> 
> On 05/18/2009 10:51 AM, Kabir Khan wrote:
>> Looks like a user error ;-) Or are you saying it actually invokes the 
>> lifecycle callback in this case?
>> On 18 May 2009, at 17:40, David M. Lloyd wrote:
>>
>>> So why should @DisableAOP be the annotation with enabling AOP being 
>>> the default?
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>>
>>> <deployment xmlns="urn:jboss:bean-deployer:2.0">
>>>    <bean name="TestBean" class="javax.management.monitor.GaugeMonitor">
>>> <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP()</annotation> 
>>>
>>> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(exposedInterface=javax.management.monitor.GaugeMonitorMBean,name="test:name=Banana",registerDirectly=false)</annotation> 
>>>
>>>    </bean>
>>> </deployment>
>>>
>>> - DML
>>> _______________________________________________
>>> jboss-development mailing list
>>> jboss-development at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-development
> 



More information about the jboss-development mailing list