<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    MBeanServer and TCL for MBeans
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/kabir.khan%40jboss.com">Kabir Khan</a> in <i>JBoss AS7 Development</i> - <a href="http://community.jboss.org/message/568897#568897">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">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:</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"> </div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">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]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:480) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.getServer(JMXServer.java:88)</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.registerMBean(JMXServer.java:105)</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.register(ObjStoreBean.java:136)</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:83)</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:73)</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at org.jboss.as.txn.TransactionManagerService.start(TransactionManagerService.java:144)</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">... 4 more</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Caused by: java.lang.ClassNotFoundException: org.jboss.as.jmx.tcl.TcclMBeanServerBuilder from [Module "module:org.jboss.as.transactions:main" from default]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:194) [:1.0.0.Beta8]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:270) [:1.0.0.Beta8]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:52) [:1.0.0.Beta8]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465) [:1.6.0_22]</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">... 16 more</div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"> </div><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">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.</div><p>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:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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]</p><p><span style="white-space: pre;"> </span>at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:480) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.getServer(JMXServer.java:88)</p><p><span style="white-space: pre;"> </span>at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.registerMBean(JMXServer.java:105)</p><p><span style="white-space: pre;"> </span>at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.register(ObjStoreBean.java:136)</p><p><span style="white-space: pre;"> </span>at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:83)</p><p><span style="white-space: pre;"> </span>at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBean.getObjectStoreBrowserBean(ObjStoreBean.java:73)</p><p><span style="white-space: pre;"> </span>at org.jboss.as.txn.TransactionManagerService.start(TransactionManagerService.java:144)</p><p><span style="white-space: pre;"> </span>... 4 more</p><p>Caused by: java.lang.ClassNotFoundException: org.jboss.as.jmx.tcl.TcclMBeanServerBuilder from [Module "module:org.jboss.as.transactions:main" from default]</p><p><span style="white-space: pre;"> </span>at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:194) [:1.0.0.Beta8]</p><p><span style="white-space: pre;"> </span>at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:270) [:1.0.0.Beta8]</p><p><span style="white-space: pre;"> </span>at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:52) [:1.0.0.Beta8]</p><p><span style="white-space: pre;"> </span>at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465) [:1.6.0_22]</p><p><span style="white-space: pre;"> </span>... 16 more</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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.</p></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/568897#568897">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss AS7 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>