Kabir Khan [
http://community.jboss.org/people/kabir.khan%40jboss.com] created the
discussion
"MBeanServer and TCL for MBeans"
To view the discussion, visit:
http://community.jboss.org/message/568897#568897
--------------------------------------------------------------
I have updated the MBeanServerService to use an MBeanBuilder to create the TcclMBeanServer
since when trying out org.jboss.mx:jboss-mbeanserver, I was seeing errors like this:
Caused by: javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class
org.jboss.as.jmx.tcl.TcclMBeanServerBuilder: java.lang.ClassNotFoundException:
org.jboss.as.jmx.tcl.TcclMBeanServerBuilder from [Module
"module:org.jboss.as.transactions:main" from default]
at
javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:480)
[:1.6.0_22]
at
javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511)
[:1.6.0_22]
at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298)
[:1.6.0_22]
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213)
[:1.6.0_22]
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174)
[:1.6.0_22]
at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302)
[:1.6.0_22]
at
java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
[:1.6.0_22]
at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.getServer(JMXServer.java:88)
at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.registerMBean(JMXServer.java:105)
at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.register(ObjStoreBean.java:136)
at
com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:83)
at
com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:73)
at org.jboss.as.txn.TransactionManagerService.start(TransactionManagerService.java:144)
... 4 more
Caused by: java.lang.ClassNotFoundException: org.jboss.as.jmx.tcl.TcclMBeanServerBuilder
from [Module "module:org.jboss.as.transactions:main" from default]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:194)
[:1.0.0.Beta8]
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:270)
[:1.0.0.Beta8]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:52)
[:1.0.0.Beta8]
at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423)
[:1.6.0_22]
at
javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465)
[:1.6.0_22]
... 16 more
So to make sure that all MBeans get the intended TCCL behaviour this is now using a
builder initialized by MBeanServerService. Services, like the TransactionManagerService
which internally in the arjuna code does not use an injected MBeanServer need their module
to import org.jboss.as.jmx.module and their service to depend on the MBeanServerService.
I have updated the MBeanServerService to use an MBeanBuilder to create the TcclMBeanServer
since when trying out org.jboss.mx:jboss-mbeanserver, I was seeing errors like this:
Caused by: javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class
org.jboss.as.jmx.tcl.TcclMBeanServerBuilder: java.lang.ClassNotFoundException:
org.jboss.as.jmx.tcl.TcclMBeanServerBuilder from [Module
"module:org.jboss.as.transactions:main" from default]
at
javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:480)
[:1.6.0_22]
at
javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511)
[:1.6.0_22]
at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298)
[:1.6.0_22]
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213)
[:1.6.0_22]
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174)
[:1.6.0_22]
at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302)
[:1.6.0_22]
at
java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
[:1.6.0_22]
at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.getServer(JMXServer.java:88)
at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.registerMBean(JMXServer.java:105)
at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.register(ObjStoreBean.java:136)
at
com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:83)
at
com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:73)
at org.jboss.as.txn.TransactionManagerService.start(TransactionManagerService.java:144)
... 4 more
Caused by: java.lang.ClassNotFoundException: org.jboss.as.jmx.tcl.TcclMBeanServerBuilder
from [Module "module:org.jboss.as.transactions:main" from default]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:194)
[:1.0.0.Beta8]
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:270)
[:1.0.0.Beta8]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:52)
[:1.0.0.Beta8]
at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423)
[:1.6.0_22]
at
javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465)
[:1.6.0_22]
... 16 more
So to make sure that all MBeans get the intended TCCL behaviour this is now using a
builder initialized by MBeanServerService. Services, like the TransactionManagerService
which internally in the arjuna code does not use an injected MBeanServer need their module
to import org.jboss.as.jmx.module and their service to depend on the MBeanServerService.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/568897#568897]
Start a new discussion in JBoss AS7 Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]