本文整理汇总了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;
}
}
}
示例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);
}
}
}
示例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);
}
}
}
示例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);
}
示例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");
}
}
示例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);
}
}
示例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);
}
}
}
}
示例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.");
}
示例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.");
}
示例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);
}
}
示例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);
}
示例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);
}
示例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);
}
}
示例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);
}
示例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();
}