Example usage for javax.management MBeanServer registerMBean

List of usage examples for javax.management MBeanServer registerMBean

Introduction

In this page you can find the example usage for javax.management MBeanServer registerMBean.

Prototype

public ObjectInstance registerMBean(Object object, ObjectName name)
        throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException;

Source Link

Document

Registers a pre-existing object as an MBean with the MBean server.

Usage

From source file:com.bigdata.dastor.gms.FailureDetector.java

public FailureDetector() {
    phiConvictThreshold_ = DatabaseDescriptor.getPhiConvictThreshold();
    creationTime_ = System.currentTimeMillis();
    // Register this instance with JMX
    try {/*ww  w  . java 2s .  c o  m*/
        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
        mbs.registerMBean(this, new ObjectName("com.bigdata.dastor.gms:type=FailureDetector"));
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:org.eclipse.gyrex.monitoring.internal.MetricSetTracker.java

@Override
public MetricSetJmxRegistration addingService(final ServiceReference<MetricSet> reference) {
    // get service
    final MetricSet metricSet = context.getService(reference);
    if (metricSet == null) {
        return null;
    }//from   w  ww.j  a v  a2  s.  c  o m

    try {
        final MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
        final ObjectName objectName = getObjectName(reference, metricSet);
        beanServer.registerMBean(new MetricSetMBean(metricSet, reference), objectName);
        return new MetricSetJmxRegistration(objectName, metricSet);
    } catch (final Exception e) {
        LOG.warn("Failed to expose metric {} using JMX. {}", metricSet, ExceptionUtils.getRootCauseMessage(e));
    }
    return null;
}

From source file:org.chorusbdd.chorus.tools.webagent.WebAgentSuiteListener.java

public void start() throws Exception {
    log.info(this + " starting MBean server");
    jmxManagementServerExporter.startServer();
    RemoteExecutionListener r = new RemoteExecutionListener(this);
    MBeanServer mBeanServer = jmxManagementServerExporter.getmBeanServer();
    try {/*from   w ww .j ava2s. c  o m*/
        mBeanServer.registerMBean(r, new ObjectName(RemoteExecutionListenerMBean.JMX_EXECUTION_LISTENER_NAME));
    } catch (Exception e) {
        log.error("Failed to register jmx execution listener", e);
    }
}

From source file:com.quinsoft.zeidon.utils.JoeUtils.java

public static void RegisterJmxBean(Object bean, String beanName, String jmxAppName) {
    try {//from   w  w  w .j  ava  2  s  .  c om
        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

        if (!StringUtils.isBlank(jmxAppName))
            beanName += ",app=" + jmxAppName;

        ObjectName name = new ObjectName(beanName);

        // Make sure the bean doesn't already exist.  If it does, unregister it.
        try {
            mbs.getMBeanInfo(name); // Throws InstanceNotFoundException if not found.
            mbs.unregisterMBean(name); // Unregister a bean if it exists.
        } catch (InstanceNotFoundException e) {
            // If we get here then the mbean isn't currently registered.  This is valid
            // so we'll ignore it.
        }

        mbs.registerMBean(bean, name);
    } catch (Exception e) {
        throw ZeidonException.wrapException(e).appendMessage("Bean Name = %s, app=%s", beanName, jmxAppName)
                .appendMessage("Bean class = %s", bean.getClass().getName());

    }

}

From source file:com.hellblazer.glassHouse.discovery.HubConfiguration.java

/**
 * Construct a hub from the receiver configuration, using the supplied
 * MBeanServer/*from   ww  w  .  j a va 2  s .co  m*/
 * 
 * @param mbs
 * @return the configured instance of the Hub
 * @throws Exception
 */
public Hub construct(MBeanServer mbs) throws Exception {
    ServiceScope scope = discovery.construct();
    scope.start();
    CascadingService cascadingService = new CascadingService(mbs);
    mbs.registerMBean(cascadingService, new ObjectName(cascadingServiceName));
    AggregateServiceImpl aggregateService = new AggregateServiceImpl(mbs);
    Hub hub = new Hub(cascadingService, sourceMap, scope, aggregateService);
    for (Map.Entry<String, String> entry : services.entrySet()) {
        hub.listenFor(String.format("(%s=%s)", SERVICE_TYPE, entry.getKey()), entry.getValue());
    }
    return hub;
}

From source file:org.openmrs.module.jmx.impl.JMXServiceImpl.java

/**
 * @see org.openmrs.module.jmx.JMXService#registerBean(String, Object)
 *//*from  w  w  w. j  a  va2s. c  o m*/
@Override
public void registerMBean(String folder, String name, Object mbean) {
    Object proxiedBean = MBeanProxifier.getProxy(mbean);

    try {
        ObjectName objName = getObjectName(folder, name);
        MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
        if (beanServer.isRegistered(objName))
            beanServer.unregisterMBean(objName);

        beanServer.registerMBean(proxiedBean, objName);

        log.debug("Registered MBean: " + objName.toString());

    } catch (MalformedObjectNameException e) {
        log.error("Invalid MBean name", e);
    } catch (Exception e) {
        log.error("Unable to register MBean", e);
    }
}

From source file:org.cloudata.core.common.metrics.CloudataMetricsFactory.java

public ObjectName registerMBean(final String serviceName, final String nameName, final Object theMbean) {
    final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    ObjectName name = getMBeanName(serviceName, nameName);
    try {//from  w  ww .  j  a  v a2 s  . c om
        mbs.registerMBean(theMbean, name);
        return name;
    } catch (InstanceAlreadyExistsException ie) {
        // Ignore if instance already exists
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:org.aludratest.cloud.impl.request.ClientRequestServlet.java

@Override
public void init(ServletConfig config) throws ServletException {
    instance = this;
    super.init(config);

    requestHandler = new ClientRequestHandler(CloudManagerApp.getInstance().getResourceManager());
    // register request handler as MBean
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    try {/* w w w .j  a  v a 2  s.  co  m*/
        mbs.registerMBean(requestHandler, new ObjectName("org.aludratest.cloud:type=ClientRequestHandler"));
    } catch (JMException e) {
        LOG.error("Could not register request handler in MBean Server", e);
    }
}

From source file:rapture.jmx.JmxServer.java

private void registerBean(Object object, String objNameStr) {
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    try {//from w ww.  j  a  va2s. c o m
        ObjectName objectName = new ObjectName(objNameStr);
        if (!mbs.isRegistered(objectName)) {
            mbs.registerMBean(object, objectName);
        }
    } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException
            | MalformedObjectNameException e) {
        log.warn(String.format("Registering a bean with name [%s] caused an exception", objNameStr), e);
    }
}

From source file:org.nuxeo.ecm.automation.core.AutomationComponent.java

protected void bindManagement() throws JMException {
    ObjectName objectName = new ObjectName("org.nuxeo.automation:name=tracerfactory");
    MBeanServer mBeanServer = Framework.getLocalService(ServerLocator.class).lookupServer();
    mBeanServer.registerMBean(tracerFactory, objectName);
}