Example usage for javax.management MBeanServer isRegistered

List of usage examples for javax.management MBeanServer isRegistered

Introduction

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

Prototype

public boolean isRegistered(ObjectName name);

Source Link

Usage

From source file:org.apache.synapse.commons.jmx.MBeanRegistrar.java

public boolean unRegisterMBean(String category, String id) {
    try {//from  w w w.  ja  v  a  2s. c o m
        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
        ObjectName objName = new ObjectName(getObjectName(category, id));
        if (mbs.isRegistered(objName)) {
            mbs.unregisterMBean(objName);
            return true;
        }
    } catch (Exception e) {
        log.warn("Error un-registering a  MBean with name ' " + id + " ' and category name ' " + category
                + "' for JMX management", e);
    }
    return false;
}

From source file:rapture.jmx.JmxServer.java

private void registerBean(Object object, String objNameStr) {
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    try {/*ww  w  .jav  a 2 s .  c  om*/
        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.jolokia.jmx.JolokiaMBeanServerTest.java

@Test
public void withModelMBean() throws MBeanException, InvalidTargetObjectTypeException, InstanceNotFoundException,
        InstanceAlreadyExistsException, NotCompliantMBeanException, MalformedObjectNameException,
        NoSuchMethodException, IntrospectionException {

    RequiredModelMBean modelMBean = new RequiredModelMBean();

    ModelMBeanInfo mbi = new ModelMBeanInfoSupport(JsonAnnoPlainTest.class.getName(), "JsonMBean Test",
            new ModelMBeanAttributeInfo[] { new ModelMBeanAttributeInfo("DeepDive", "description",
                    JsonAnnoPlainTest.class.getDeclaredMethod("getDeepDive"), null) },
            new ModelMBeanConstructorInfo[] {}, new ModelMBeanOperationInfo[] {},
            new ModelMBeanNotificationInfo[] {});
    modelMBean.setModelMBeanInfo(mbi);/*  w  w w  .  j  a  v a  2 s.co  m*/
    modelMBean.setManagedResource(new JsonAnnoPlainTest(), "ObjectReference");

    JolokiaMBeanServer server = new JolokiaMBeanServer();

    ObjectName oName = new ObjectName("test:type=jsonMBean");

    server.registerMBean(modelMBean, oName);
    MBeanServer plattformServer = ManagementFactory.getPlatformMBeanServer();

    Assert.assertTrue(plattformServer.isRegistered(oName));
    Assert.assertTrue(server.isRegistered(oName));

    server.unregisterMBean(oName);
    Assert.assertFalse(plattformServer.isRegistered(oName));
    Assert.assertFalse(server.isRegistered(oName));

}

From source file:org.onehippo.forge.channelmanager.pagesupport.document.management.impl.DocumentManagementServiceDaemonModule.java

private void unregisterDocumentManagementServiceMBean() {
    try {/*  ww w .ja v  a2 s  . c o m*/
        MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
        ObjectName mbeanName = new ObjectName(DocumentManagementServiceMXBean.NAME);

        if (mbeanServer.isRegistered(mbeanName)) {
            mbeanServer.unregisterMBean(mbeanName);
        }
    } catch (Exception e) {
        log.error("Failed to unregister MBean.", e);
    }
}

From source file:org.onehippo.forge.channelmanager.pagesupport.document.management.impl.DocumentManagementServiceDaemonModule.java

private void registerDocumentManagementServiceMBean() {
    try {/*from w  w w.  j  av a2 s.  c o  m*/
        MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
        ObjectName mbeanName = new ObjectName(DocumentManagementServiceMXBean.NAME);

        if (mbeanServer.isRegistered(mbeanName)) {
            mbeanServer.unregisterMBean(mbeanName);
        }

        mbeanServer.registerMBean(documentManagementService, mbeanName);
    } catch (Exception e) {
        log.error("Failed to register MBean.", e);
    }
}

From source file:com.mtgi.analytics.jmx.StatisticsMBeanEventPersisterTest.java

private void waitForCount(ObjectName id, int count) throws JMException, InterruptedException {
    MBeanServer jmx = JmxUtils.locateMBeanServer();
    long start = System.currentTimeMillis();
    int actual = -1;
    do {// w  w  w  . j a v  a2 s .c  o  m
        if (jmx.isRegistered(id))
            actual = ((Number) jmx.getAttribute(id, "Count")).intValue();
        if (actual < count)
            Thread.sleep(10);
    } while (actual < count && (System.currentTimeMillis() - start) < 300000);
    assertEquals("events received for " + id, actual, count);
}

From source file:org.ow2.proactive.resourcemanager.node.jmx.SigarExposer.java

public void registerMBeans(MBeanServer mbs) {
    try {//from   w  w w . jav  a 2s .c  o m
        // Create the SIGAR registry
        SigarRegistry registry = new SigarRegistry();

        ObjectName name = new ObjectName(registry.getObjectName());
        if (!mbs.isRegistered(name)) {
            mbs.registerMBean(registry, name);
        }

        String databaseFolder = System.getProperty(MONITORING_DB_DIR);
        if (databaseFolder == null || databaseFolder.trim().isEmpty()) {
            String fs = System.getProperty("file.separator");
            databaseFolder = PAResourceManagerProperties.RM_HOME.getValueAsString() + fs + "data" + fs;
        }

        FileUtils.forceMkdir(new File(databaseFolder));
        String dataBaseName = databaseFolder + nodeName + "_statistics.rrd";

        setDataStore(new RRDSigarDataStore(mbs, dataBaseName,
                PAResourceManagerProperties.RM_RRD_STEP.getValueAsInt(), Logger.getLogger(SigarExposer.class)));

        name = new ObjectName("sigar:Type=Processes");
        SigarProcessesMXBean processes = new SigarProcesses(dataBaseName);
        if (!mbs.isRegistered(name)) {
            mbs.registerMBean(processes, name);
        }

    } catch (Exception e) {
        LOGGER.error("Unable to register SigarRegistry mbean", e);
    }
}

From source file:io.github.tfahub.dropwizard.logging.XmlBasedLoggingFactory.java

void registerJmxConfiguratorMBean() throws JMException {
    final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
    final ObjectName objectName = new ObjectName("io.dropwizard:type=Logging");
    if (!server.isRegistered(objectName)) {
        server.registerMBean(new JMXConfigurator(loggerContext, server, objectName), objectName);
    }/*from w  ww . j av a  2s .co m*/
}

From source file:com.mtgi.analytics.jmx.StatisticsMBeanEventPersisterTest.java

@Test
public void testMbeanRegistration()
        throws FailingHttpStatusCodeException, IOException, SQLException, JMException, InterruptedException {
    ObjectName[] all = {/*  ww  w .j av a 2 s  .c o m*/
            ObjectName.getInstance("testApp:type=http-request-monitor,name=/testApp/test/invoke.do"),
            ObjectName.getInstance("testApp:type=http-request-monitor,name=/testApp/test/invoke.do,"
                    + "nested=method_com.mtgi.analytics.jmx.StatisticsMBeanEventPersisterTest$Service.save"),
            ObjectName.getInstance("testApp:type=http-request-monitor,name=/testApp/test/invoke.do,"
                    + "nested=method_com.mtgi.analytics.jmx.StatisticsMBeanEventPersisterTest$Service.save,"
                    + "nested[2]=jdbc_executeBatch") };

    MBeanServer jmx = JmxUtils.locateMBeanServer();
    for (ObjectName on : all)
        assertFalse("statistics mbean " + on + " is not yet registered", jmx.isRegistered(on));

    assertEquals("no data in test db yet", 0, countRecords());
    webClient.getPage(baseUrl + "/testApp/test/invoke.do?id=1&value=hello");
    assertEquals("test service invoked", 1, countRecords());

    //verify that we receive updated statistics for each of our monitored events
    for (ObjectName on : all)
        waitForCount(on, 1);

    //post again, and verify that the now-registered mbeans are updated.
    webClient.getPage(baseUrl + "/testApp/test/invoke.do?id=2&value=world");
    assertEquals("test service invoked", 2, countRecords());
    for (ObjectName on : all)
        waitForCount(on, 2);
}

From source file:dk.netarkivet.common.management.SingleMBeanObject.java

/**
 * Unregister the object from the MBeanServer. Note: It is not checked that
 * it is actually this mbean that is registered under the name, this method
 * simply unregisters any object with this object name.
 *
 * @throws IOFailure on trouble unregistering.
 *//*from  www  . j  ava  2s  .c  om*/
public void unregister() {
    MBeanServer mbserver = mBeanServer;
    try {
        if (name != null) {
            name = new ObjectName(domain, nameProperties);
        }
        if (mbserver.isRegistered(name)) {
            mbserver.unregisterMBean(name);
        }
    } catch (JMException e) {
        throw new IOFailure("Unable to unregister MBean '" + name + "'", e);
    }
}