当前位置: 首页>>代码示例>>Java>>正文


Java MBeanServer.unregisterMBean方法代码示例

本文整理汇总了Java中javax.management.MBeanServer.unregisterMBean方法的典型用法代码示例。如果您正苦于以下问题:Java MBeanServer.unregisterMBean方法的具体用法?Java MBeanServer.unregisterMBean怎么用?Java MBeanServer.unregisterMBean使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.management.MBeanServer的用法示例。


在下文中一共展示了MBeanServer.unregisterMBean方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: shutdown

import javax.management.MBeanServer; //导入方法依赖的package包/类
public void shutdown() {
    try {
        // As per Blueprints tests, shutdown() implies automatic commit
		BitsyTransaction tx = curTransaction.get();
		if ((tx != null) && tx.isOpen()) {
			tx.commit();
			tx = null;
		}

        // Shutdown the underlying store
        graphStore.shutdown();
    } finally {
        if (this.objectName != null) {
            // Deregister from JMX
            MBeanServer server = ManagementFactory.getPlatformMBeanServer();
            try {
                server.unregisterMBean(objectName);
            } catch (Exception e) {
                log.error("Error unregistering MBean named " + objectName + " from the MBeanServer", e);
            }
            objectName = null;
        }
    }
}
 
开发者ID:lambdazen,项目名称:bitsy,代码行数:25,代码来源:BitsyGraph.java

示例2: testRegister

import javax.management.MBeanServer; //导入方法依赖的package包/类
/**
 * Test of register method, of class com.sun.jmx.examples.scandir.ScanManager.
 */
public void testRegister() throws Exception {
    System.out.println("register");

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();


    ScanManagerMXBean result = ScanManager.register(mbs);
    try {
        assertEquals(STOPPED,result.getState());
    } finally {
        try {
            mbs.unregisterMBean(ScanManager.SCAN_MANAGER_NAME);
        } catch (Exception x) {
            System.err.println("Failed to cleanup: "+x);
        }
    }

}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:22,代码来源:ScanManagerTest.java

示例3: unregisterJmxBean

import javax.management.MBeanServer; //导入方法依赖的package包/类
private void unregisterJmxBean() {
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    synchronized (jmxBeanReferenceCountByName) {

        // Get the reference count for the JMX bean.
        Integer jmxBeanReferenceCount = jmxBeanReferenceCountByName.get(jmxBeanName);

        // Check if we have a valid state, that is, jmxBeanReferenceCount > 0.
        if (jmxBeanReferenceCount == null || jmxBeanReferenceCount == 0) {
            logger.debug(
                    "failed unregistering the JMX bean (jmxBeanName=%s, jmxBeanReferenceCount=%s)",
                    jmxBeanName, jmxBeanReferenceCount);
        }

        // If there is just a single reference so far, it is safe to unregister the bean.
        else if (jmxBeanReferenceCount == 1) {
            try {
                mbs.unregisterMBean(jmxBeanName);
                jmxBeanReferenceCountByName.remove(jmxBeanName);
            } catch (Throwable error) {
                logger.debug("failed unregistering the JMX bean (jmxBeanName=%s)", jmxBeanName);
            }
        }

        // Apparently there are more consumers of the bean. Just decrement the reference count.
        else {
            jmxBeanReferenceCountByName.put(jmxBeanName, jmxBeanReferenceCount - 1);
        }

    }
}
 
开发者ID:vy,项目名称:log4j2-redis-appender,代码行数:32,代码来源:RedisThrottler.java

示例4: main

import javax.management.MBeanServer; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    System.out.println("Testing that annotations are correctly " +
                       "reflected in Descriptor entries");

    MBeanServer mbs =
        java.lang.management.ManagementFactory.getPlatformMBeanServer();
    ObjectName on = new ObjectName("a:b=c");

    Thing thing = new Thing();
    mbs.registerMBean(thing, on);
    check(mbs, on);
    mbs.unregisterMBean(on);

    ThingImpl thingImpl = new ThingImpl();
    mbs.registerMBean(thingImpl, on);
    Descriptor d = mbs.getMBeanInfo(on).getDescriptor();
    if (!d.getFieldValue("mxbean").equals("true")) {
        System.out.println("NOT OK: expected MXBean");
        failed = "Expected MXBean";
    }
    check(mbs, on);

    if (failed == null)
        System.out.println("Test passed");
    else
        throw new Exception("TEST FAILED: " + failed);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:28,代码来源:AnnotationTest.java

示例5: main

import javax.management.MBeanServer; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {

        // Instantiate the MBean server
        //
        System.out.println("Create the MBean server");
        MBeanServer mbs = MBeanServerFactory.createMBeanServer();

        // Register the MBean
        //
        System.out.println("Create a TestDynamicMBean");
        TestDynamicMBean obj = new TestDynamicMBean();
        ObjectName n = new ObjectName("d:k=v");
        System.out.println("Register a TestDynamicMBean");
        mbs.registerMBean(obj, n);
        obj.throwException = true;
        System.out.println("Unregister a TestDynamicMBean");
        try {
            mbs.unregisterMBean(n);
        } catch (Exception e) {
            throw new IllegalArgumentException("Test failed", e);
        }
        boolean isRegistered = mbs.isRegistered(n);
        System.out.println("Is MBean Registered? " + isRegistered);

        if (isRegistered) {
            throw new IllegalArgumentException(
                "Test failed: the MBean is still registered");
        } else {
            System.out.println("Test passed");
        }
    }
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:32,代码来源:UnregisterMBeanExceptionTest.java

示例6: unregisterJmx

import javax.management.MBeanServer; //导入方法依赖的package包/类
/**
 *
 */
protected void unregisterJmx() {
    try {
        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
        mbs.unregisterMBean(oname);
    } catch (InstanceNotFoundException ignore) {
        // NOOP
    } catch (Exception e) {
        log.error("Unable to unregister JDBC pool with JMX",e);
    }
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:14,代码来源:DataSource.java

示例7: unregisterApplicationContext

import javax.management.MBeanServer; //导入方法依赖的package包/类
static void unregisterApplicationContext(ConfigurableApplicationContext applicationContext) {
	synchronized (applicationContexts) {
		if (applicationContexts.remove(applicationContext) && applicationContexts.isEmpty()) {
			try {
				MBeanServer server = ManagementFactory.getPlatformMBeanServer();
				String mbeanDomain = applicationContext.getEnvironment().getProperty(MBEAN_DOMAIN_PROPERTY_NAME);
				server.unregisterMBean(new ObjectName(mbeanDomain, MBEAN_APPLICATION_KEY, applicationContext.getApplicationName()));
			}
			catch (Exception ex) {
				throw new ApplicationContextException("Failed to unregister LiveBeansView MBean", ex);
			}
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:15,代码来源:LiveBeansView.java

示例8: unregisterJMX

import javax.management.MBeanServer; //导入方法依赖的package包/类
/**
 * Unregister the scheduler from the local MBeanServer.
 */
private void unregisterJMX() throws Exception {
    String jmxObjectName = resources.getJMXObjectName();
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    mbs.unregisterMBean(new ObjectName(jmxObjectName));
    jmxBean.setSampledStatisticsEnabled(false);
    getLog().info("Scheduler unregistered from name '" + jmxObjectName + "' in the local MBeanServer.");
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:11,代码来源:QuartzScheduler.java

示例9: unregisterJMX

import javax.management.MBeanServer; //导入方法依赖的package包/类
/**
 * Unregister the scheduler from the local MBeanServer.
 */
private void unregisterJMX() throws Exception {
	String jmxObjectName = resources.getJMXObjectName();
	MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
	mbs.unregisterMBean(new ObjectName(jmxObjectName));
	jmxBean.setSampledStatisticsEnabled(false);
    getLog().info("Scheduler unregistered from name '" + jmxObjectName + "' in the local MBeanServer.");
}
 
开发者ID:AsuraTeam,项目名称:asura,代码行数:11,代码来源:QuartzScheduler.java

示例10: destroy

import javax.management.MBeanServer; //导入方法依赖的package包/类
public void destroy() {
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    try {
        String quote = quote(instance.getName());
        ObjectName objectName = new ObjectName(DOMAIN + ":instance=" + quote + ",*");
        Set<ObjectName> entries = mbs.queryNames(objectName, null);
        for (ObjectName name : entries) {
            if (mbs.isRegistered(name)) {
                mbs.unregisterMBean(name);
            }
        }
    } catch (Exception e) {
        logger.warn("ManagementService destroy error", e);
    }
}
 
开发者ID:zerosoft,项目名称:CodeBroker,代码行数:16,代码来源:ManagementService.java

示例11: main

import javax.management.MBeanServer; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    for (Class<?> c : new Class<?>[] {
            Spume.class, Thing.class, XSpume.class, XThing.class
         }) {
        for (ObjectName n : new ObjectName[] {null, new ObjectName("a:b=c")}) {
            System.out.println("Class " + c.getName() + " with name " + n +
                    "...");
            ObjectName realName = new ObjectName("a:type=" + c.getName());
            Constructor<?> constr = c.getConstructor(ObjectName.class);
            Object mbean = constr.newInstance(realName);
            ObjectInstance oi;
            String what =
                "Registering MBean of type " + c.getName() + " under name " +
                "<" + n + ">: ";
            try {
                oi = mbs.registerMBean(mbean, n);
            } catch (Exception e) {
                e.printStackTrace();
                fail(what + " got " + e);
                continue;
            }
            ObjectName registeredName = oi.getObjectName();
            if (!registeredName.equals(realName))
                fail(what + " registered as " + registeredName);
            if (!mbs.isRegistered(realName)) {
                fail(what + " not registered as expected");
            }
            mbs.unregisterMBean(registeredName);
        }
    }
    System.err.flush();
    if (failures == 0)
        System.out.println("TEST PASSED");
    else
        throw new Exception("TEST FAILED: " + failure);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:38,代码来源:PreRegisterNameTest.java

示例12: unregisterMBean

import javax.management.MBeanServer; //导入方法依赖的package包/类
public static void unregisterMBean(final Object object) throws JMException {
	final MBeanServer context = ManagementFactory.getPlatformMBeanServer();
	final ObjectName objectName = generateMBeanName(object.getClass());
	context.unregisterMBean(objectName);
}
 
开发者ID:ggrandes,项目名称:metrics-tomcat,代码行数:6,代码来源:AnnotatedStandardMBean.java

示例13: test

import javax.management.MBeanServer; //导入方法依赖的package包/类
private static void test(Object child, String name, boolean mxbean)
    throws Exception {
    final ObjectName childName =
            new ObjectName("test:type=Child,name="+name);
    final MBeanServer server =
            ManagementFactory.getPlatformMBeanServer();
    server.registerMBean(child,childName);
    try {
        final MBeanInfo info = server.getMBeanInfo(childName);
        System.out.println(name+": " + info.getDescriptor());
        final int len = info.getOperations().length;
        if (len == OPCOUNT) {
            System.out.println(name+": OK, only "+OPCOUNT+
                    " operations here...");
        } else {
            final String qual = (len>OPCOUNT)?"many":"few";
            System.err.println(name+": Too "+qual+" foos! Found "+
                    len+", expected "+OPCOUNT);
            for (MBeanOperationInfo op : info.getOperations()) {
                System.err.println("public "+op.getReturnType()+" "+
                        op.getName()+"();");
            }
            throw new RuntimeException("Too " + qual +
                    " foos for "+name);
        }

        final Descriptor d = info.getDescriptor();
        final String mxstr = String.valueOf(d.getFieldValue("mxbean"));
        final boolean mxb =
                (mxstr==null)?false:Boolean.valueOf(mxstr).booleanValue();
        System.out.println(name+": mxbean="+mxb);
        if (mxbean && !mxb)
            throw new AssertionError("MXBean is not OpenMBean?");

        for (MBeanOperationInfo mboi : info.getOperations()) {

            // Sanity check
            if (mxbean && !mboi.getName().equals("foo")) {
                // The spec doesn't guarantee that the MBeanOperationInfo
                // of an MXBean will be an OpenMBeanOperationInfo, and in
                // some circumstances in our implementation it will not.
                // However, in thsi tests, for all methods but foo(),
                // it should.
                //
                if (!(mboi instanceof OpenMBeanOperationInfo))
                    throw new AssertionError("Operation "+mboi.getName()+
                            "() is not Open?");
            }

            final String exp = EXPECTED_TYPES.get(mboi.getName());

            // For MXBeans, we need to compare 'exp' with the original
            // type - because mboi.getReturnType() returns the OpenType
            //
            String type = (String)mboi.getDescriptor().
                        getFieldValue("originalType");
            if (type == null) type = mboi.getReturnType();
            if (type.equals(exp)) continue;
            System.err.println("Bad return type for "+
                    mboi.getName()+"! Found "+type+
                    ", expected "+exp);
            throw new RuntimeException("Bad return type for "+
                    mboi.getName());
        }
    } finally {
        server.unregisterMBean(childName);
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:69,代码来源:TooManyFooTest.java

示例14: main

import javax.management.MBeanServer; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {

        boolean error = false;

        // Instantiate the MBean server
        //
        System.out.println("Create the MBean server");
        MBeanServer mbs = MBeanServerFactory.createMBeanServer();

        // Instantiate an MLet
        //
        System.out.println("Create the MLet");
        MLet mlet = new MLet();

        // Register the MLet MBean with the MBeanServer
        //
        System.out.println("Register the MLet MBean");
        ObjectName mletObjectName = new ObjectName("Test:type=MLet");
        mbs.registerMBean(mlet, mletObjectName);

        // Call getMBeansFromURL
        //
        System.out.println("Call mlet.getMBeansFromURL(<url>)");
        String testSrc = System.getProperty("test.src");
        System.out.println("test.src = " + testSrc);
        String urlCodebase;
        if (testSrc.startsWith("/")) {
            urlCodebase =
                "file:" + testSrc.replace(File.separatorChar, '/') + "/";
        } else {
            urlCodebase =
                "file:/" + testSrc.replace(File.separatorChar, '/') + "/";
        }
        String mletFile = urlCodebase + args[0];
        System.out.println("MLet File = " + mletFile);
        try {
            mlet.getMBeansFromURL(mletFile);
            System.out.println(
                "TEST FAILED: Expected ServiceNotFoundException not thrown");
            error = true;
        } catch (ServiceNotFoundException e) {
            if (e.getCause() == null) {
                System.out.println("TEST FAILED: Got unexpected null cause " +
                    "in ServiceNotFoundException");
                error = true;
            } else if (!(e.getCause() instanceof IOException)) {
                System.out.println("TEST FAILED: Got unexpected non-null " +
                    "cause in ServiceNotFoundException");
                error = true;
            } else {
                System.out.println("TEST PASSED: Got expected non-null " +
                    "cause in ServiceNotFoundException");
                error = false;
            }
            e.printStackTrace(System.out);
        }

        // Unregister the MLet MBean
        //
        System.out.println("Unregister the MLet MBean");
        mbs.unregisterMBean(mletObjectName);

        // Release MBean server
        //
        System.out.println("Release the MBean server");
        MBeanServerFactory.releaseMBeanServer(mbs);

        // End Test
        //
        System.out.println("Bye! Bye!");
        if (error) System.exit(1);
    }
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:73,代码来源:ParserInfiniteLoopTest.java

示例15: shouldRegisterInMBeanServer

import javax.management.MBeanServer; //导入方法依赖的package包/类
/**
 * Should register in MBean server.
 *
 * @throws MalformedObjectNameException
 *             the malformed object name exception
 * @throws InstanceAlreadyExistsException
 *             the instance already exists exception
 * @throws NotCompliantMBeanException
 *             the not compliant MBean exception
 * @throws MBeanRegistrationException
 *             the MBean registration exception
 * @throws InstanceNotFoundException
 *             the instance not found exception
 * @throws IntrospectionException
 *             the introspection exception
 * @throws ReflectionException
 *             the reflection exception
 */
@Test
public void shouldRegisterInMBeanServer()
		throws MalformedObjectNameException, InstanceAlreadyExistsException, NotCompliantMBeanException,
		MBeanRegistrationException, InstanceNotFoundException, IntrospectionException, ReflectionException {
	reporter.register("com.tqdev.metrics", "TQdev.com's Metrics");
	MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
	ObjectName name = new ObjectName("com.tqdev.metrics:type=Metrics");
	assertThat(mbs.isRegistered(name)).isTrue();
	assertThat(mbs.getMBeanInfo(name).getDescription()).isEqualTo("TQdev.com's Metrics");
	mbs.unregisterMBean(name);
	assertThat(mbs.isRegistered(name)).isFalse();
}
 
开发者ID:mevdschee,项目名称:tqdev-metrics,代码行数:31,代码来源:JmxReporterTest.java


注:本文中的javax.management.MBeanServer.unregisterMBean方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。