1 package de.juplo.monitoring;
3 import javax.management.MBeanAttributeInfo;
4 import javax.management.MBeanOperationInfo;
5 import javax.management.MBeanServerConnection;
6 import javax.management.ObjectName;
7 import javax.management.remote.JMXConnector;
8 import javax.management.remote.JMXConnectorFactory;
9 import javax.management.remote.JMXServiceURL;
10 import java.util.Iterator;
14 public class ListMBeans
16 public static void main(String[] args)
18 String url = args.length > 0 ? args[0] : "service:jmx:rmi:///jndi/rmi://:7001/jmxrmi";
19 System.out.println("-------------------------------------------------");
21 JMXServiceURL jmxServiceURL = new JMXServiceURL(url);
22 JMXConnector jmxConnector = JMXConnectorFactory.connect(jmxServiceURL, null);
24 MBeanServerConnection connection = jmxConnector.getMBeanServerConnection();
26 Set result = connection.queryNames(new ObjectName("*:*"), null);
27 Iterator it = result.iterator();
31 ObjectName objectName = (ObjectName) it.next();
35 System.out.println("--> " + objectName.getCanonicalName());
36 MBeanAttributeInfo[] attributes = connection.getMBeanInfo(objectName).getAttributes();
38 for (int i = 0; i < attributes.length; i++)
40 System.out.println(" Attribute: " + attributes[i].getName() + " of Type : " + attributes[i].getType());
43 MBeanOperationInfo[] operations = connection.getMBeanInfo(objectName).getOperations();
45 for (int i = 0; i < operations.length; i++)
47 System.out.print(" Operation: " + operations[i].getReturnType() + " " + operations[i].getName() + "(");
48 for (int j = 0; j < operations[i].getSignature().length;j++)
50 System.out.print(operations[i].getSignature()[j].getName() +
52 operations[i].getSignature()[j].getType() +
55 System.out.println(")");
69 System.out.println("-------------------------------------------------");