public void testNodesMXBean() throws Exception {
ObjectName name = new ObjectName(NodesMXBean.MXBEAN_NAME);
// Ensure that the object name has been registered during
// kernel startup.
NodesMXBean bean = (NodesMXBean)
profileCollector.getRegisteredMBean(NodesMXBean.MXBEAN_NAME);
assertNotNull(bean);
CompositeData[] nodesData =
(CompositeData[]) mbsc.getAttribute(name, "Nodes");
assertEquals(1, nodesData.length);
// Create the proxy for the object, specifying that it supports
// notification emitter.
NodesMXBean proxy =
JMX.newMXBeanProxy(mbsc, name, NodesMXBean.class, true);
NodeInfo[] nodes = proxy.getNodes();
for (NodeInfo n : nodes) {
System.out.println("found node: " + n + n.getId());
assertTrue(n.isLive());
}
assertEquals(1, bean.getNodes().length);
assertEquals(1, nodes.length);
// add a couple more nodes
addNodes(null, 2);
nodes = proxy.getNodes();
assertEquals(3, nodes.length);
for (NodeInfo n : nodes) {
System.out.println("found node: " + n + n.getId());
assertTrue(n.isLive());