DEV Community

Query Filter
Query Filter

Posted on

mbean name

#ma

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 + "]");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

}

Top comments (0)