public void testEnableJmxStats() throws Exception {
MBeanServer mBeanServer = PerThreadMBeanServerLookup.getThreadMBeanServer();
PerCacheInboundInvocationHandler handler = getHandler();
ObjectName objName = getObjectName();
assertTrue(mBeanServer.isRegistered(objName));
assertEquals(Boolean.TRUE, mBeanServer.getAttribute(objName, "StatisticsEnabled"));
handler.registerXSiteCommandReceiver(true);
assertEquals(1, (long) mBeanServer.getAttribute(objName, "SyncXSiteRequestsReceived"));
assertEquals(0, (long) mBeanServer.getAttribute(objName, "AsyncXSiteRequestsReceived"));
mBeanServer.invoke(objName, "resetStatistics", new Object[0], new String[0]);
assertEquals(0, (long) mBeanServer.getAttribute(objName, "SyncXSiteRequestsReceived"));
assertEquals(0, (long) mBeanServer.getAttribute(objName, "AsyncXSiteRequestsReceived"));
mBeanServer.setAttribute(objName, new Attribute("StatisticsEnabled", Boolean.FALSE));
handler.registerXSiteCommandReceiver(true);
assertEquals(0, (long) mBeanServer.getAttribute(objName, "SyncXSiteRequestsReceived"));
assertEquals(0, (long) mBeanServer.getAttribute(objName, "AsyncXSiteRequestsReceived"));
mBeanServer.setAttribute(objName, new Attribute("StatisticsEnabled", Boolean.TRUE));
}