While looking into some other bug, I noticed AbstractMBeanInvoker.initDispatchers() is called 2 times, as seen below. The stack trace is for a model mbean, but is quite similar for a standard mbean.
The offending statement seems to be in ModelMBeanInvoker.
Is there any known reason for this, like the dispatcher have to reconfigure for some reason?
Thanks
protected void init(MBeanServer server, ObjectName name) throws Exception { ModelMBeanInfo minfo = (ModelMBeanInfo) info; configureInterceptorStack(minfo, server, name); initDispatchers(); <---- HERE
at org.jboss.mx.server.AbstractMBeanInvoker.initDispatchers(AbstractMBeanInvoker.java:1055) at org.jboss.mx.server.AbstractMBeanInvoker.preRegister(AbstractMBeanInvoker.java:649) at javax.management.modelmbean.RequiredModelMBean.preRegister(RequiredModelMBean.java:275) at org.jboss.mx.server.RawDynamicInvoker.preRegister(RawDynamicInvoker.java:223) at org.jboss.mx.server.registry.BasicMBeanRegistry.invokePreRegister(BasicMBeanRegistry.java:697) at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:211)
at org.jboss.mx.server.AbstractMBeanInvoker.initDispatchers(AbstractMBeanInvoker.java:1055) at org.jboss.mx.modelmbean.ModelMBeanInvoker.init(ModelMBeanInvoker.java:505) at org.jboss.mx.modelmbean.ModelMBeanInvoker.invokePreRegister(ModelMBeanInvoker.java:486) at org.jboss.mx.server.AbstractMBeanInvoker.preRegister(AbstractMBeanInvoker.java:651) at javax.management.modelmbean.RequiredModelMBean.preRegister(RequiredModelMBean.java:275) at org.jboss.mx.server.RawDynamicInvoker.preRegister(RawDynamicInvoker.java:223) at org.jboss.mx.server.registry.BasicMBeanRegistry.invokePreRegister(BasicMBeanRegistry.java:697) at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:211)
My initial guess would be its due to being able to set the ModelMBeanInfo resource after the mbean is registered. If I remember correctly this is an area where we had to rework things when the cts was updated to the jmx 1.2mr release.