public void addMBeanServers()

in hawtio-system/src/main/java/io/hawt/osgi/OsgiMBeanDetector.java [27:54]


    public void addMBeanServers(Set<MBeanServerConnection> pMBeanServers) {
        BundleContext context = null;
        try {
            Bundle bundle = FrameworkUtil.getBundle(getClass());
            context = bundle != null ? bundle.getBundleContext() : null;
        } catch (Throwable t) {
            // Ignore
        }
        if (context != null) {
            ServiceTracker<MBeanServer, MBeanServer> tracker = new ServiceTracker<>(context, MBeanServer.class, null);
            tracker.open();
            MBeanServer server = null;
            for (int i = 0; i < 1000; i++) {
                server = tracker.getService();
                if (server != null) {
                    break;
                }
                try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    return;
                }
            }
            if (server != null) {
                pMBeanServers.add(server);
            }
        }
    }