javax.management.MBeanServerNotification Java Examples
The following examples show how to use
javax.management.MBeanServerNotification.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DefaultMBeanServerInterceptor.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.TRACE)) { MBEANSERVER_LOGGER.log(Level.TRACE, NotifType + " " + name); } delegate.sendNotification(notif); }
Example #2
Source File: DefaultMBeanServerInterceptor.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "sendNotification", NotifType + " " + name); } delegate.sendNotification(notif); }
Example #3
Source File: JmxDumper.java From helix with Apache License 2.0 | 6 votes |
@Override public void handleNotification(Notification notification, Object handback) { MBeanServerNotification mbs = (MBeanServerNotification) notification; if (MBeanServerNotification.REGISTRATION_NOTIFICATION.equals(mbs.getType())) { // System.out.println("Adding mbean " + mbs.getMBeanName()); _logger.info("Adding mbean " + mbs.getMBeanName()); if (mbs.getMBeanName().getDomain().equalsIgnoreCase(_domain)) { addMBean(mbs.getMBeanName()); } } else if (MBeanServerNotification.UNREGISTRATION_NOTIFICATION.equals(mbs.getType())) { // System.out.println("Removing mbean " + mbs.getMBeanName()); _logger.info("Removing mbean " + mbs.getMBeanName()); if (mbs.getMBeanName().getDomain().equalsIgnoreCase(_domain)) { removeMBean(mbs.getMBeanName()); } } }
Example #4
Source File: ModelControllerMBeanTestCase.java From wildfly-core with GNU Lesser General Public License v2.1 | 6 votes |
private void doTestMBeanServerNotification_UNREGISTRATION_NOTIFICATION(MBeanServerConnection connection, boolean mustReceiveNotification) throws Exception { final ObjectName testObjectName = createObjectName(LEGACY_DOMAIN + ":subsystem=test"); final ObjectName childObjectName = createObjectName(LEGACY_DOMAIN + ":subsystem=test,single=only"); final CountDownLatch notificationEmitted = new CountDownLatch(1); final AtomicReference<Notification> notification = new AtomicReference<>(); NotificationListener listener = new MbeanServerNotificationListener(notification, notificationEmitted, LEGACY_DOMAIN); NotificationFilterSupport filter = new NotificationFilterSupport(); filter.enableType(MBeanServerNotification.UNREGISTRATION_NOTIFICATION); connection.addNotificationListener(MBeanServerDelegate.DELEGATE_NAME, listener, filter, null); // add a management resource connection.invoke(testObjectName, "addSingleOnly", new Object[]{123}, new String[]{String.class.getName()}); // and remove it connection.invoke(childObjectName, "remove", new Object[0], new String[0]); if (mustReceiveNotification) { Assert.assertTrue("Did not receive expected notification", notificationEmitted.await(1, TimeUnit.SECONDS)); Notification notif = notification.get(); Assert.assertNotNull(notif); Assert.assertTrue(notif instanceof MBeanServerNotification); MBeanServerNotification mBeanServerNotification = (MBeanServerNotification) notif; Assert.assertEquals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION, mBeanServerNotification.getType()); Assert.assertEquals(childObjectName, mBeanServerNotification.getMBeanName()); } else { Assert.assertFalse("Did receive unexpected notification", notificationEmitted.await(500, TimeUnit.MILLISECONDS)); } connection.removeNotificationListener(MBeanServerDelegate.DELEGATE_NAME, listener, filter, null); }
Example #5
Source File: DefaultMBeanServerInterceptor.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "sendNotification", NotifType + " " + name); } delegate.sendNotification(notif); }
Example #6
Source File: DefaultMBeanServerInterceptor.java From hottub with GNU General Public License v2.0 | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "sendNotification", NotifType + " " + name); } delegate.sendNotification(notif); }
Example #7
Source File: DefaultMBeanServerInterceptor.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "sendNotification", NotifType + " " + name); } delegate.sendNotification(notif); }
Example #8
Source File: ArrayNotificationBuffer.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
private void createdNotification(MBeanServerNotification n) { final String shouldEqual = MBeanServerNotification.REGISTRATION_NOTIFICATION; if (!n.getType().equals(shouldEqual)) { logger.warning("createNotification", "bad type: " + n.getType()); return; } ObjectName name = n.getMBeanName(); if (logger.debugOn()) logger.debug("createdNotification", "for: " + name); synchronized (this) { if (createdDuringQuery != null) { createdDuringQuery.add(name); return; } } if (isInstanceOf(mBeanServer, name, broadcasterClass)) { addBufferListener(name); if (isDisposed()) removeBufferListener(name); } }
Example #9
Source File: ArrayNotificationBuffer.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
private void createdNotification(MBeanServerNotification n) { final String shouldEqual = MBeanServerNotification.REGISTRATION_NOTIFICATION; if (!n.getType().equals(shouldEqual)) { logger.warning("createNotification", "bad type: " + n.getType()); return; } ObjectName name = n.getMBeanName(); if (logger.debugOn()) logger.debug("createdNotification", "for: " + name); synchronized (this) { if (createdDuringQuery != null) { createdDuringQuery.add(name); return; } } if (isInstanceOf(mBeanServer, name, broadcasterClass)) { addBufferListener(name); if (isDisposed()) removeBufferListener(name); } }
Example #10
Source File: ArrayNotificationBuffer.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
private void createdNotification(MBeanServerNotification n) { final String shouldEqual = MBeanServerNotification.REGISTRATION_NOTIFICATION; if (!n.getType().equals(shouldEqual)) { logger.warning("createNotification", "bad type: " + n.getType()); return; } ObjectName name = n.getMBeanName(); if (logger.debugOn()) logger.debug("createdNotification", "for: " + name); synchronized (this) { if (createdDuringQuery != null) { createdDuringQuery.add(name); return; } } if (isInstanceOf(mBeanServer, name, broadcasterClass)) { addBufferListener(name); if (isDisposed()) removeBufferListener(name); } }
Example #11
Source File: ArrayNotificationBuffer.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
private void createdNotification(MBeanServerNotification n) { final String shouldEqual = MBeanServerNotification.REGISTRATION_NOTIFICATION; if (!n.getType().equals(shouldEqual)) { logger.warning("createNotification", "bad type: " + n.getType()); return; } ObjectName name = n.getMBeanName(); if (logger.debugOn()) logger.debug("createdNotification", "for: " + name); synchronized (this) { if (createdDuringQuery != null) { createdDuringQuery.add(name); return; } } if (isInstanceOf(mBeanServer, name, broadcasterClass)) { addBufferListener(name); if (isDisposed()) removeBufferListener(name); } }
Example #12
Source File: DefaultMBeanServerInterceptor.java From dragonwell8_jdk with GNU General Public License v2.0 | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "sendNotification", NotifType + " " + name); } delegate.sendNotification(notif); }
Example #13
Source File: DefaultMBeanServerInterceptor.java From JDKSourceCode1.8 with MIT License | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "sendNotification", NotifType + " " + name); } delegate.sendNotification(notif); }
Example #14
Source File: ClientGui.java From logging-log4j2 with Apache License 2.0 | 6 votes |
private void handleNotificationInAwtEventThread(final Notification notif, final Object paramObject) { if (StatusLoggerAdminMBean.NOTIF_TYPE_MESSAGE.equals(notif.getType())) { if (!(paramObject instanceof ObjectName)) { handle("Invalid notification object type", new ClassCastException(paramObject.getClass().getName())); return; } final ObjectName param = (ObjectName) paramObject; final JTextArea text = statusLogTextAreaMap.get(param); if (text != null) { text.append(notif.getMessage() + '\n'); } return; } if (notif instanceof MBeanServerNotification) { final MBeanServerNotification mbsn = (MBeanServerNotification) notif; final ObjectName mbeanName = mbsn.getMBeanName(); if (MBeanServerNotification.REGISTRATION_NOTIFICATION.equals(notif.getType())) { onMBeanRegistered(mbeanName); } else if (MBeanServerNotification.UNREGISTRATION_NOTIFICATION.equals(notif.getType())) { onMBeanUnregistered(mbeanName); } } }
Example #15
Source File: ArrayNotificationBuffer.java From jdk1.8-source-analysis with Apache License 2.0 | 6 votes |
private void createdNotification(MBeanServerNotification n) { final String shouldEqual = MBeanServerNotification.REGISTRATION_NOTIFICATION; if (!n.getType().equals(shouldEqual)) { logger.warning("createNotification", "bad type: " + n.getType()); return; } ObjectName name = n.getMBeanName(); if (logger.debugOn()) logger.debug("createdNotification", "for: " + name); synchronized (this) { if (createdDuringQuery != null) { createdDuringQuery.add(name); return; } } if (isInstanceOf(mBeanServer, name, broadcasterClass)) { addBufferListener(name); if (isDisposed()) removeBufferListener(name); } }
Example #16
Source File: DefaultMBeanServerInterceptor.java From jdk1.8-source-analysis with Apache License 2.0 | 6 votes |
/** * Sends an MBeanServerNotifications with the specified type for the * MBean with the specified ObjectName */ private void sendNotification(String NotifType, ObjectName name) { // ------------------------------ // ------------------------------ // --------------------- // Create notification // --------------------- MBeanServerNotification notif = new MBeanServerNotification( NotifType,MBeanServerDelegate.DELEGATE_NAME,0,name); if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "sendNotification", NotifType + " " + name); } delegate.sendNotification(notif); }
Example #17
Source File: DefaultMBeanServerInterceptor.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
/** * Removes a MBean in the repository, * sends MBeanServerNotification.UNREGISTRATION_NOTIFICATION, * returns ResourceContext for special resources such as ClassLoaders * or JMXNamespaces, or null. For regular MBean this method returns * ResourceContext.NONE. * * @return a ResourceContext for special resources such as ClassLoaders * or JMXNamespaces. */ private ResourceContext unregisterFromRepository( final Object resource, final DynamicMBean object, final ObjectName logicalName) throws InstanceNotFoundException { // Creates a registration context, if needed. // final ResourceContext context = makeResourceContextFor(resource, logicalName); repository.remove(logicalName, context); // --------------------- // Send deletion event // --------------------- if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "unregisterMBean", "Send delete notification of object " + logicalName.getCanonicalName()); } sendNotification(MBeanServerNotification.UNREGISTRATION_NOTIFICATION, logicalName); return context; }
Example #18
Source File: TestDropResourceMetricsReset.java From helix with Apache License 2.0 | 5 votes |
@Override public void onMBeanUnRegistered(MBeanServerConnection server, MBeanServerNotification mbsNotification) { if (mbsNotification.getMBeanName().equals(_objectName)) { _unregisterLatch.countDown(); } }
Example #19
Source File: IdleTimeoutTest.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public void handleNotification(Notification n, Object h) { MBeanServerNotification mbsn = (MBeanServerNotification) n; System.out.println(listenerName + " got notification: " + mbsn.getMBeanName()); synchronized (listenerCount) { listenerCount[0]++; listenerCount.notify(); } }
Example #20
Source File: MBeanServerNotificationFilter.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
/** * Creates a filter selecting all MBeanServerNotification notifications for * all ObjectNames. */ public MBeanServerNotificationFilter() { super(); RELATION_LOGGER.entering(MBeanServerNotificationFilter.class.getName(), "MBeanServerNotificationFilter"); enableType(MBeanServerNotification.REGISTRATION_NOTIFICATION); enableType(MBeanServerNotification.UNREGISTRATION_NOTIFICATION); RELATION_LOGGER.exiting(MBeanServerNotificationFilter.class.getName(), "MBeanServerNotificationFilter"); return; }
Example #21
Source File: DefaultMBeanServerInterceptor.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Removes a MBean in the repository, * sends MBeanServerNotification.UNREGISTRATION_NOTIFICATION, * returns ResourceContext for special resources such as ClassLoaders * or JMXNamespaces, or null. For regular MBean this method returns * ResourceContext.NONE. * * @return a ResourceContext for special resources such as ClassLoaders * or JMXNamespaces. */ private ResourceContext unregisterFromRepository( final Object resource, final DynamicMBean object, final ObjectName logicalName) throws InstanceNotFoundException { // Creates a registration context, if needed. // final ResourceContext context = makeResourceContextFor(resource, logicalName); repository.remove(logicalName, context); // --------------------- // Send deletion event // --------------------- if (MBEANSERVER_LOGGER.isLoggable(Level.TRACE)) { MBEANSERVER_LOGGER.log(Level.TRACE, "Send delete notification of object " + logicalName.getCanonicalName()); } sendNotification(MBeanServerNotification.UNREGISTRATION_NOTIFICATION, logicalName); return context; }
Example #22
Source File: IdleTimeoutTest.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
public void handleNotification(Notification n, Object h) { MBeanServerNotification mbsn = (MBeanServerNotification) n; System.out.println(listenerName + " got notification: " + mbsn.getMBeanName()); synchronized (listenerCount) { listenerCount[0]++; listenerCount.notify(); } }
Example #23
Source File: DefaultMBeanServerInterceptor.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
/** * Removes a MBean in the repository, * sends MBeanServerNotification.UNREGISTRATION_NOTIFICATION, * returns ResourceContext for special resources such as ClassLoaders * or JMXNamespaces, or null. For regular MBean this method returns * ResourceContext.NONE. * * @return a ResourceContext for special resources such as ClassLoaders * or JMXNamespaces. */ private ResourceContext unregisterFromRepository( final Object resource, final DynamicMBean object, final ObjectName logicalName) throws InstanceNotFoundException { // Creates a registration context, if needed. // final ResourceContext context = makeResourceContextFor(resource, logicalName); repository.remove(logicalName, context); // --------------------- // Send deletion event // --------------------- if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "unregisterMBean", "Send delete notification of object " + logicalName.getCanonicalName()); } sendNotification(MBeanServerNotification.UNREGISTRATION_NOTIFICATION, logicalName); return context; }
Example #24
Source File: IdleTimeoutTest.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
public void handleNotification(Notification n, Object h) { MBeanServerNotification mbsn = (MBeanServerNotification) n; System.out.println(listenerName + " got notification: " + mbsn.getMBeanName()); synchronized (listenerCount) { listenerCount[0]++; listenerCount.notify(); } }
Example #25
Source File: DefaultMBeanServerInterceptor.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
/** * Adds a MBean in the repository, * sends MBeanServerNotification.REGISTRATION_NOTIFICATION, * returns ResourceContext for special resources such as ClassLoaders * or JMXNamespaces. For regular MBean this method returns * ResourceContext.NONE. * @return a ResourceContext for special resources such as ClassLoaders * or JMXNamespaces. */ private ResourceContext registerWithRepository( final Object resource, final DynamicMBean object, final ObjectName logicalName) throws InstanceAlreadyExistsException, MBeanRegistrationException { // Creates a registration context, if needed. // final ResourceContext context = makeResourceContextFor(resource, logicalName); repository.addMBean(object, logicalName, context); // May throw InstanceAlreadyExistsException // --------------------- // Send create event // --------------------- if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "addObject", "Send create notification of object " + logicalName.getCanonicalName()); } sendNotification( MBeanServerNotification.REGISTRATION_NOTIFICATION, logicalName); return context; }
Example #26
Source File: DefaultMBeanServerInterceptor.java From JDKSourceCode1.8 with MIT License | 5 votes |
/** * Removes a MBean in the repository, * sends MBeanServerNotification.UNREGISTRATION_NOTIFICATION, * returns ResourceContext for special resources such as ClassLoaders * or JMXNamespaces, or null. For regular MBean this method returns * ResourceContext.NONE. * * @return a ResourceContext for special resources such as ClassLoaders * or JMXNamespaces. */ private ResourceContext unregisterFromRepository( final Object resource, final DynamicMBean object, final ObjectName logicalName) throws InstanceNotFoundException { // Creates a registration context, if needed. // final ResourceContext context = makeResourceContextFor(resource, logicalName); repository.remove(logicalName, context); // --------------------- // Send deletion event // --------------------- if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, DefaultMBeanServerInterceptor.class.getName(), "unregisterMBean", "Send delete notification of object " + logicalName.getCanonicalName()); } sendNotification(MBeanServerNotification.UNREGISTRATION_NOTIFICATION, logicalName); return context; }
Example #27
Source File: OldMBeanServerTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
public void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException { forbidJMImpl(name); DynamicMBean mbean = getMBean(name); if (mbean == null) throw new InstanceNotFoundException(name.toString()); MBeanRegistration reg = mbeanRegistration(mbean); try { reg.preDeregister(); } catch (Exception e) { throw new MBeanRegistrationException(e); } if (!mbeans.remove(name, mbean)) throw new InstanceNotFoundException(name.toString()); // This is incorrect because we've invoked preDeregister Object userMBean = getUserMBean(mbean); if (userMBean instanceof ClassLoader) clr.removeLoader((ClassLoader) userMBean); Notification n = new MBeanServerNotification( MBeanServerNotification.REGISTRATION_NOTIFICATION, MBeanServerDelegate.DELEGATE_NAME, 0, name); delegate.sendNotification(n); reg.postDeregister(); }
Example #28
Source File: OldMBeanServerTest.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
public void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException { forbidJMImpl(name); DynamicMBean mbean = getMBean(name); if (mbean == null) throw new InstanceNotFoundException(name.toString()); MBeanRegistration reg = mbeanRegistration(mbean); try { reg.preDeregister(); } catch (Exception e) { throw new MBeanRegistrationException(e); } if (!mbeans.remove(name, mbean)) throw new InstanceNotFoundException(name.toString()); // This is incorrect because we've invoked preDeregister Object userMBean = getUserMBean(mbean); if (userMBean instanceof ClassLoader) clr.removeLoader((ClassLoader) userMBean); Notification n = new MBeanServerNotification( MBeanServerNotification.REGISTRATION_NOTIFICATION, MBeanServerDelegate.DELEGATE_NAME, 0, name); delegate.sendNotification(n); reg.postDeregister(); }
Example #29
Source File: MBeanListener.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
public void handleNotification( final Notification notifIn, final Object handback) { if (notifIn instanceof MBeanServerNotification) { final MBeanServerNotification notif = (MBeanServerNotification) notifIn; final ObjectName objectName = notif.getMBeanName(); boolean match = false; if ( mObjectName != null && mObjectName.equals(objectName) ) { match = true; } else if ( objectName.getDomain().equals( mJMXDomain ) ) { if ( mType != null && mType.equals(objectName.getKeyProperty(TYPE_KEY)) ) { final String mbeanName = objectName.getKeyProperty(NAME_KEY); if (mName != null && mName.equals(mbeanName)) { match = true; } } } if ( match ) { final String notifType = notif.getType(); if (MBeanServerNotification.REGISTRATION_NOTIFICATION.equals(notifType)) { mCallback.mbeanRegistered(objectName, this); } else if (MBeanServerNotification.UNREGISTRATION_NOTIFICATION.equals(notifType)) { mCallback.mbeanUnregistered(objectName, this); } } } }
Example #30
Source File: OldMBeanServerTest.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException { forbidJMImpl(name); DynamicMBean mbean = getMBean(name); if (mbean == null) throw new InstanceNotFoundException(name.toString()); MBeanRegistration reg = mbeanRegistration(mbean); try { reg.preDeregister(); } catch (Exception e) { throw new MBeanRegistrationException(e); } if (!mbeans.remove(name, mbean)) throw new InstanceNotFoundException(name.toString()); // This is incorrect because we've invoked preDeregister Object userMBean = getUserMBean(mbean); if (userMBean instanceof ClassLoader) clr.removeLoader((ClassLoader) userMBean); Notification n = new MBeanServerNotification( MBeanServerNotification.REGISTRATION_NOTIFICATION, MBeanServerDelegate.DELEGATE_NAME, 0, name); delegate.sendNotification(n); reg.postDeregister(); }