import javax.management.;
import java.lang.management.;
import java.util.Set;
public class ListAllMBeans {
public static void main(String[] args) throws Exception {
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
// Get all registered MBeans
Set<ObjectName> mbeans = mbs.queryNames(null, null);
for (ObjectName name : mbeans) {
System.out.println("MBean: " + name);
try {
MBeanInfo info = mbs.getMBeanInfo(name);
// List operations
for (MBeanOperationInfo op : info.getOperations()) {
StringBuilder method = new StringBuilder();
method.append(" Operation: ")
.append(op.getReturnType())
.append(" ")
.append(op.getName())
.append("(");
MBeanParameterInfo[] params = op.getSignature();
for (int i = 0; i < params.length; i++) {
if (i > 0) method.append(", ");
method.append(params[i].getType()).append(" ").append(params[i].getName());
}
method.append(")");
System.out.println(method);
}
// Optional: list attributes too
for (MBeanAttributeInfo attr : info.getAttributes()) {
System.out.println(" Attribute: " + attr.getName() + " (" + attr.getType() + ")");
}
System.out.println(); // separator
} catch (Exception e) {
System.out.println(" [Error reading MBeanInfo: " + e + "]");
}
}
}
}
Top comments (0)