Search in sources :

Example 96 with InstanceNotFoundException

use of javax.management.InstanceNotFoundException in project geode by apache.

the class NotificationHub method addHubNotificationListener.

/**
   * Adds a NotificationHubListener
   * 
   * @param objectName
   */
public void addHubNotificationListener(String memberName, ObjectName objectName) {
    try {
        synchronized (listenerObjectMap) {
            NotificationHubListener listener = listenerObjectMap.get(objectName);
            if (listener == null) {
                listener = new NotificationHubListener(objectName);
                listener.incNumCounter();
                mbeanServer.addNotificationListener(objectName, listener, null, null);
                listenerObjectMap.put(objectName, listener);
            } else {
                listener.incNumCounter();
            }
        }
    } catch (InstanceNotFoundException e) {
        throw new ManagementException(e);
    }
}
Also used : ManagementException(org.apache.geode.management.ManagementException) InstanceNotFoundException(javax.management.InstanceNotFoundException)

Example 97 with InstanceNotFoundException

use of javax.management.InstanceNotFoundException in project geode by apache.

the class JMXDataUpdater method updateClusterRegion.

/**
   * function used to get attribute values of Cluster Region and map them to cluster region vo
   * 
   * @param mbeanName Cluster Region MBean
   */
private void updateClusterRegion(ObjectName mbeanName) throws IOException {
    try {
        AttributeList attributeList = this.mbs.getAttributes(mbeanName, PulseConstants.REGION_MBEAN_ATTRIBUTES);
        // retrieve the full path of the region
        String regionObjectName = mbeanName.getKeyProperty("name");
        String regionFullPath = null;
        for (int i = 0; i < attributeList.size(); i++) {
            Attribute attribute = (Attribute) attributeList.get(i);
            if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_FULLPATH)) {
                regionFullPath = getStringAttribute(attribute.getValue(), attribute.getName());
                break;
            }
        }
        Cluster.Region region = cluster.getClusterRegions().get(regionFullPath);
        if (null == region) {
            region = new Cluster.Region();
        }
        for (int i = 0; i < attributeList.size(); i++) {
            Attribute attribute = (Attribute) attributeList.get(i);
            String name = attribute.getName();
            switch(name) {
                case PulseConstants.MBEAN_ATTRIBUTE_MEMBERS:
                    String[] memName = (String[]) attribute.getValue();
                    region.getMemberName().clear();
                    for (int k = 0; k < memName.length; k++) {
                        region.getMemberName().add(memName[k]);
                    }
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_FULLPATH:
                    region.setFullPath(getStringAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
                    region.setDiskReadsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
                    region.setDiskWritesRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_EMPTYNODES:
                    region.setEmptyNode(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_GETSRATE:
                    region.setGetsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_LRUEVICTIONRATE:
                    region.setLruEvictionRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE:
                    region.setPutsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_REGIONTYPE:
                    region.setRegionType(getStringAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE:
                    region.setEntrySize(getLongAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_SYSTEMREGIONENTRYCOUNT:
                    region.setSystemRegionEntryCount(getLongAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_MEMBERCOUNT:
                    region.setMemberCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_PERSISTENTENABLED:
                    region.setPersistentEnabled(getBooleanAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_NAME:
                    region.setName(getStringAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_GATEWAYENABLED:
                    region.setWanEnabled(getBooleanAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_DISKUSAGE:
                    region.setDiskUsage(getLongAttribute(attribute.getValue(), attribute.getName()));
                    break;
            }
        }
        // add for each member
        updateRegionOnMembers(regionObjectName, regionFullPath, region);
        cluster.addClusterRegion(regionFullPath, region);
        cluster.getDeletedRegions().remove(region.getFullPath());
        // Memory Reads and writes
        region.getPutsPerSecTrend().add(region.getPutsRate());
        region.getGetsPerSecTrend().add(region.getGetsRate());
        // Disk Reads and Writes
        region.getDiskReadsPerSecTrend().add(region.getDiskReadsRate());
        region.getDiskWritesPerSecTrend().add(region.getDiskWritesRate());
    } catch (InstanceNotFoundException | ReflectionException infe) {
        logger.warn(infe);
    }
}
Also used : ReflectionException(javax.management.ReflectionException) Attribute(javax.management.Attribute) AttributeList(javax.management.AttributeList) InstanceNotFoundException(javax.management.InstanceNotFoundException)

Example 98 with InstanceNotFoundException

use of javax.management.InstanceNotFoundException in project logging-log4j2 by apache.

the class Server method unregisterAllMatching.

private static void unregisterAllMatching(final String search, final MBeanServer mbs) {
    try {
        final ObjectName pattern = new ObjectName(search);
        final Set<ObjectName> found = mbs.queryNames(pattern, null);
        if (found.isEmpty()) {
            LOGGER.trace("Unregistering but no MBeans found matching '{}'", search);
        } else {
            LOGGER.trace("Unregistering {} MBeans: {}", found.size(), found);
        }
        for (final ObjectName objectName : found) {
            mbs.unregisterMBean(objectName);
        }
    } catch (final InstanceNotFoundException ex) {
        LOGGER.debug("Could not unregister MBeans for " + search + ". Ignoring " + ex);
    } catch (final Exception ex) {
        LOGGER.error("Could not unregister MBeans for " + search, ex);
    }
}
Also used : InstanceNotFoundException(javax.management.InstanceNotFoundException) InstanceAlreadyExistsException(javax.management.InstanceAlreadyExistsException) MBeanRegistrationException(javax.management.MBeanRegistrationException) InstanceNotFoundException(javax.management.InstanceNotFoundException) NotCompliantMBeanException(javax.management.NotCompliantMBeanException) ObjectName(javax.management.ObjectName)

Example 99 with InstanceNotFoundException

use of javax.management.InstanceNotFoundException in project tomee by apache.

the class Assembler method destroyApplication.

public void destroyApplication(final AppInfo appInfo) throws UndeployException {
    final ReentrantLock l = lock;
    l.lock();
    try {
        deployedApplications.remove(appInfo.path);
        logger.info("destroyApplication.start", appInfo.path);
        final Context globalContext = containerSystem.getJNDIContext();
        final AppContext appContext = containerSystem.getAppContext(appInfo.appId);
        final ClassLoader classLoader = appContext.getClassLoader();
        SystemInstance.get().fireEvent(new AssemblerBeforeApplicationDestroyed(appInfo, appContext));
        //noinspection ConstantConditions
        if (null == appContext) {
            logger.warning("Application id '" + appInfo.appId + "' not found in: " + Arrays.toString(containerSystem.getAppContextKeys()));
            return;
        } else {
            final WebBeansContext webBeansContext = appContext.getWebBeansContext();
            if (webBeansContext != null) {
                final ClassLoader old = Thread.currentThread().getContextClassLoader();
                Thread.currentThread().setContextClassLoader(classLoader);
                try {
                    final ServletContext context = appContext.isStandaloneModule() && appContext.getWebContexts().iterator().hasNext() ? appContext.getWebContexts().iterator().next().getServletContext() : null;
                    webBeansContext.getService(ContainerLifecycle.class).stopApplication(context);
                } finally {
                    Thread.currentThread().setContextClassLoader(old);
                }
            }
            final Map<String, Object> cb = appContext.getBindings();
            for (final Entry<String, Object> value : cb.entrySet()) {
                String path = value.getKey();
                if (path.startsWith("global")) {
                    path = "java:" + path;
                }
                if (!path.startsWith("java:global")) {
                    continue;
                }
                unbind(globalContext, path);
                unbind(globalContext, "openejb/global/" + path.substring("java:".length()));
                unbind(globalContext, path.substring("java:global".length()));
            }
            if (appInfo.appId != null && !appInfo.appId.isEmpty() && !"openejb".equals(appInfo.appId)) {
                unbind(globalContext, "global/" + appInfo.appId);
                unbind(globalContext, appInfo.appId);
            }
        }
        final EjbResolver globalResolver = new EjbResolver(null, EjbResolver.Scope.GLOBAL);
        for (final AppInfo info : deployedApplications.values()) {
            globalResolver.addAll(info.ejbJars);
        }
        SystemInstance.get().setComponent(EjbResolver.class, globalResolver);
        final UndeployException undeployException = new UndeployException(messages.format("destroyApplication.failed", appInfo.path));
        final WebAppBuilder webAppBuilder = SystemInstance.get().getComponent(WebAppBuilder.class);
        if (webAppBuilder != null && !appInfo.webAppAlone) {
            try {
                webAppBuilder.undeployWebApps(appInfo);
            } catch (final Exception e) {
                undeployException.getCauses().add(new Exception("App: " + appInfo.path + ": " + e.getMessage(), e));
            }
        }
        // get all of the ejb deployments
        List<BeanContext> deployments = new ArrayList<BeanContext>();
        for (final EjbJarInfo ejbJarInfo : appInfo.ejbJars) {
            for (final EnterpriseBeanInfo beanInfo : ejbJarInfo.enterpriseBeans) {
                final String deploymentId = beanInfo.ejbDeploymentId;
                final BeanContext beanContext = containerSystem.getBeanContext(deploymentId);
                if (beanContext == null) {
                    undeployException.getCauses().add(new Exception("deployment not found: " + deploymentId));
                } else {
                    deployments.add(beanContext);
                }
            }
        }
        // Just as with startup we need to get things in an
        // order that respects the singleton @DependsOn information
        // Theoreticlly if a Singleton depends on something in its
        // @PostConstruct, it can depend on it in its @PreDestroy.
        // Therefore we want to make sure that if A dependsOn B,
        // that we destroy A first then B so that B will still be
        // usable in the @PreDestroy method of A.
        // Sort them into the original starting order
        deployments = sort(deployments);
        // reverse that to get the stopping order
        Collections.reverse(deployments);
        // stop
        for (final BeanContext deployment : deployments) {
            final String deploymentID = String.valueOf(deployment.getDeploymentID());
            try {
                final Container container = deployment.getContainer();
                container.stop(deployment);
            } catch (final Throwable t) {
                undeployException.getCauses().add(new Exception("bean: " + deploymentID + ": " + t.getMessage(), t));
            }
        }
        // undeploy
        for (final BeanContext bean : deployments) {
            final String deploymentID = String.valueOf(bean.getDeploymentID());
            try {
                final Container container = bean.getContainer();
                container.undeploy(bean);
                bean.setContainer(null);
            } catch (final Throwable t) {
                undeployException.getCauses().add(new Exception("bean: " + deploymentID + ": " + t.getMessage(), t));
            } finally {
                bean.setDestroyed(true);
            }
        }
        if (webAppBuilder != null && appInfo.webAppAlone) {
            // now that EJB are stopped we can undeploy webapps
            try {
                webAppBuilder.undeployWebApps(appInfo);
            } catch (final Exception e) {
                undeployException.getCauses().add(new Exception("App: " + appInfo.path + ": " + e.getMessage(), e));
            }
        }
        // get the client ids
        final List<String> clientIds = new ArrayList<String>();
        for (final ClientInfo clientInfo : appInfo.clients) {
            clientIds.add(clientInfo.moduleId);
            for (final String className : clientInfo.localClients) {
                clientIds.add(className);
            }
            for (final String className : clientInfo.remoteClients) {
                clientIds.add(className);
            }
        }
        for (final WebContext webContext : appContext.getWebContexts()) {
            containerSystem.removeWebContext(webContext);
        }
        TldScanner.forceCompleteClean(classLoader);
        // Clear out naming for all components first
        for (final BeanContext deployment : deployments) {
            final String deploymentID = String.valueOf(deployment.getDeploymentID());
            try {
                containerSystem.removeBeanContext(deployment);
            } catch (final Throwable t) {
                undeployException.getCauses().add(new Exception(deploymentID, t));
            }
            final JndiBuilder.Bindings bindings = deployment.get(JndiBuilder.Bindings.class);
            if (bindings != null) {
                for (final String name : bindings.getBindings()) {
                    try {
                        globalContext.unbind(name);
                    } catch (final Throwable t) {
                        undeployException.getCauses().add(new Exception("bean: " + deploymentID + ": " + t.getMessage(), t));
                    }
                }
            }
        }
        // stop this executor only now since @PreDestroy can trigger some stop events
        final AsynchronousPool pool = appContext.get(AsynchronousPool.class);
        if (pool != null) {
            pool.stop();
        }
        for (final CommonInfoObject jar : listCommonInfoObjectsForAppInfo(appInfo)) {
            try {
                globalContext.unbind(VALIDATOR_FACTORY_NAMING_CONTEXT + jar.uniqueId);
                globalContext.unbind(VALIDATOR_NAMING_CONTEXT + jar.uniqueId);
            } catch (final NamingException e) {
                if (EjbJarInfo.class.isInstance(jar)) {
                    undeployException.getCauses().add(new Exception("validator: " + jar.uniqueId + ": " + e.getMessage(), e));
                }
            // else an error but not that important
            }
        }
        try {
            if (globalContext instanceof IvmContext) {
                final IvmContext ivmContext = (IvmContext) globalContext;
                ivmContext.prune("openejb/Deployment");
                ivmContext.prune("openejb/local");
                ivmContext.prune("openejb/remote");
                ivmContext.prune("openejb/global");
            }
        } catch (final NamingException e) {
            undeployException.getCauses().add(new Exception("Unable to prune openejb/Deployments and openejb/local namespaces, this could cause future deployments to fail.", e));
        }
        deployments.clear();
        for (final String clientId : clientIds) {
            try {
                globalContext.unbind("/openejb/client/" + clientId);
            } catch (final Throwable t) {
                undeployException.getCauses().add(new Exception("client: " + clientId + ": " + t.getMessage(), t));
            }
        }
        // mbeans
        final MBeanServer server = LocalMBeanServer.get();
        for (final Object objectName : appInfo.jmx.values()) {
            try {
                final ObjectName on = new ObjectName((String) objectName);
                if (server.isRegistered(on)) {
                    server.unregisterMBean(on);
                }
                final CreationalContext cc = creationalContextForAppMbeans.remove(on);
                if (cc != null) {
                    cc.release();
                }
            } catch (final InstanceNotFoundException e) {
                logger.warning("can't unregister " + objectName + " because the mbean was not found", e);
            } catch (final MBeanRegistrationException e) {
                logger.warning("can't unregister " + objectName, e);
            } catch (final MalformedObjectNameException mone) {
                logger.warning("can't unregister because the ObjectName is malformed: " + objectName, mone);
            }
        }
        // destroy PUs before resources since the JPA provider can use datasources
        for (final PersistenceUnitInfo unitInfo : appInfo.persistenceUnits) {
            try {
                final Object object = globalContext.lookup(PERSISTENCE_UNIT_NAMING_CONTEXT + unitInfo.id);
                globalContext.unbind(PERSISTENCE_UNIT_NAMING_CONTEXT + unitInfo.id);
                // close EMF so all resources are released
                final ReloadableEntityManagerFactory remf = (ReloadableEntityManagerFactory) object;
                remf.close();
                persistenceClassLoaderHandler.destroy(unitInfo.id);
                remf.unregister();
            } catch (final Throwable t) {
                undeployException.getCauses().add(new Exception("persistence-unit: " + unitInfo.id + ": " + t.getMessage(), t));
            }
        }
        for (final String id : appInfo.resourceAliases) {
            final String name = OPENEJB_RESOURCE_JNDI_PREFIX + id;
            ContextualJndiReference.followReference.set(false);
            try {
                final Object object;
                try {
                    object = globalContext.lookup(name);
                } finally {
                    ContextualJndiReference.followReference.remove();
                }
                if (object instanceof ContextualJndiReference) {
                    final ContextualJndiReference contextualJndiReference = ContextualJndiReference.class.cast(object);
                    contextualJndiReference.removePrefix(appContext.getId());
                    if (contextualJndiReference.hasNoMorePrefix()) {
                        globalContext.unbind(name);
                    }
                // else not the last deployed application to use this resource so keep it
                } else {
                    globalContext.unbind(name);
                }
            } catch (final NamingException e) {
                logger.warning("can't unbind resource '{0}'", id);
            }
        }
        for (final String id : appInfo.resourceIds) {
            final String name = OPENEJB_RESOURCE_JNDI_PREFIX + id;
            try {
                destroyLookedUpResource(globalContext, id, name);
            } catch (final NamingException e) {
                logger.warning("can't unbind resource '{0}'", id);
            }
        }
        for (final ConnectorInfo connector : appInfo.connectors) {
            if (connector.resourceAdapter == null || connector.resourceAdapter.id == null) {
                continue;
            }
            final String name = OPENEJB_RESOURCE_JNDI_PREFIX + connector.resourceAdapter.id;
            try {
                destroyLookedUpResource(globalContext, connector.resourceAdapter.id, name);
            } catch (final NamingException e) {
                logger.warning("can't unbind resource '{0}'", connector);
            }
            for (final ResourceInfo outbound : connector.outbound) {
                try {
                    destroyLookedUpResource(globalContext, outbound.id, OPENEJB_RESOURCE_JNDI_PREFIX + outbound.id);
                } catch (final Exception e) {
                // no-op
                }
            }
            for (final ResourceInfo outbound : connector.adminObject) {
                try {
                    destroyLookedUpResource(globalContext, outbound.id, OPENEJB_RESOURCE_JNDI_PREFIX + outbound.id);
                } catch (final Exception e) {
                // no-op
                }
            }
            for (final MdbContainerInfo container : connector.inbound) {
                try {
                    containerSystem.removeContainer(container.id);
                    config.containerSystem.containers.remove(container);
                    this.containerSystem.getJNDIContext().unbind(JAVA_OPENEJB_NAMING_CONTEXT + container.service + "/" + container.id);
                } catch (final Exception e) {
                // no-op
                }
            }
        }
        for (final String id : appInfo.containerIds) {
            removeContainer(id);
        }
        containerSystem.removeAppContext(appInfo.appId);
        if (!appInfo.properties.containsKey("tomee.destroying")) {
            // destroy tomee classloader after resources cleanup
            try {
                final Method m = classLoader.getClass().getMethod("internalStop");
                m.invoke(classLoader);
            } catch (final NoSuchMethodException nsme) {
            // no-op
            } catch (final Exception e) {
                logger.error("error stopping classloader of webapp " + appInfo.appId, e);
            }
            ClassLoaderUtil.cleanOpenJPACache(classLoader);
        }
        ClassLoaderUtil.destroyClassLoader(appInfo.appId, appInfo.path);
        if (undeployException.getCauses().size() > 0) {
            throw undeployException;
        }
        logger.debug("destroyApplication.success", appInfo.path);
    } finally {
        l.unlock();
    }
}
Also used : WebContext(org.apache.openejb.core.WebContext) IvmContext(org.apache.openejb.core.ivm.naming.IvmContext) ArrayList(java.util.ArrayList) AsynchronousPool(org.apache.openejb.async.AsynchronousPool) JMXContainer(org.apache.openejb.assembler.monitoring.JMXContainer) Container(org.apache.openejb.Container) WebBeansContext(org.apache.webbeans.config.WebBeansContext) ServletContext(javax.servlet.ServletContext) NamingException(javax.naming.NamingException) LocalMBeanServer(org.apache.openejb.monitoring.LocalMBeanServer) MBeanServer(javax.management.MBeanServer) ReentrantLock(java.util.concurrent.locks.ReentrantLock) WebContext(org.apache.openejb.core.WebContext) SimpleBootstrapContext(org.apache.openejb.core.transaction.SimpleBootstrapContext) Context(javax.naming.Context) ServletContext(javax.servlet.ServletContext) MethodContext(org.apache.openejb.MethodContext) IvmContext(org.apache.openejb.core.ivm.naming.IvmContext) AppContext(org.apache.openejb.AppContext) InitialContext(javax.naming.InitialContext) WebBeansContext(org.apache.webbeans.config.WebBeansContext) BeanContext(org.apache.openejb.BeanContext) CreationalContext(javax.enterprise.context.spi.CreationalContext) DeploymentContext(org.apache.openejb.DeploymentContext) GeronimoBootstrapContext(org.apache.geronimo.connector.GeronimoBootstrapContext) BootstrapContext(javax.resource.spi.BootstrapContext) MalformedObjectNameException(javax.management.MalformedObjectNameException) AppContext(org.apache.openejb.AppContext) InstanceNotFoundException(javax.management.InstanceNotFoundException) AssemblerBeforeApplicationDestroyed(org.apache.openejb.assembler.classic.event.AssemblerBeforeApplicationDestroyed) Method(java.lang.reflect.Method) InvalidObjectException(java.io.InvalidObjectException) NameAlreadyBoundException(javax.naming.NameAlreadyBoundException) IOException(java.io.IOException) ExecutionException(java.util.concurrent.ExecutionException) ObjectStreamException(java.io.ObjectStreamException) ResourceAdapterInternalException(javax.resource.spi.ResourceAdapterInternalException) URISyntaxException(java.net.URISyntaxException) UndeployException(org.apache.openejb.UndeployException) DefinitionException(javax.enterprise.inject.spi.DefinitionException) ConstructionException(org.apache.xbean.recipe.ConstructionException) MBeanRegistrationException(javax.management.MBeanRegistrationException) InstanceNotFoundException(javax.management.InstanceNotFoundException) ValidationException(javax.validation.ValidationException) MalformedObjectNameException(javax.management.MalformedObjectNameException) DuplicateDeploymentIdException(org.apache.openejb.DuplicateDeploymentIdException) TimeoutException(java.util.concurrent.TimeoutException) NamingException(javax.naming.NamingException) OpenEJBException(org.apache.openejb.OpenEJBException) DeploymentException(javax.enterprise.inject.spi.DeploymentException) NoSuchApplicationException(org.apache.openejb.NoSuchApplicationException) MalformedURLException(java.net.MalformedURLException) OpenEJBRuntimeException(org.apache.openejb.OpenEJBRuntimeException) ContainerLifecycle(org.apache.webbeans.spi.ContainerLifecycle) ObjectName(javax.management.ObjectName) BeanContext(org.apache.openejb.BeanContext) CreationalContext(javax.enterprise.context.spi.CreationalContext) MBeanRegistrationException(javax.management.MBeanRegistrationException) ContextualJndiReference(org.apache.openejb.core.ivm.naming.ContextualJndiReference) UndeployException(org.apache.openejb.UndeployException)

Example 100 with InstanceNotFoundException

use of javax.management.InstanceNotFoundException in project tomee by apache.

the class Alternative method preDestroy.

@PreDestroy
public void preDestroy() throws MBeanRegistrationException {
    final String name = properties.getProperty("name");
    requireNotNull(name);
    try {
        final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
        final ObjectName objectName = new ObjectName(name);
        mbs.unregisterMBean(objectName);
    } catch (final MalformedObjectNameException e) {
        LOGGER.severe("Malformed MBean name: " + name);
        throw new MBeanRegistrationException(e);
    } catch (final javax.management.MBeanRegistrationException e) {
        LOGGER.severe("Error unregistering " + name);
        throw new MBeanRegistrationException(e);
    } catch (InstanceNotFoundException e) {
        LOGGER.severe("Error unregistering " + name);
        throw new MBeanRegistrationException(e);
    }
}
Also used : MalformedObjectNameException(javax.management.MalformedObjectNameException) InstanceNotFoundException(javax.management.InstanceNotFoundException) MBeanRegistrationException(org.superbiz.resource.jmx.factory.MBeanRegistrationException) MBeanServer(javax.management.MBeanServer) ObjectName(javax.management.ObjectName) PreDestroy(javax.annotation.PreDestroy)

Aggregations

InstanceNotFoundException (javax.management.InstanceNotFoundException)102 ObjectName (javax.management.ObjectName)59 ReflectionException (javax.management.ReflectionException)44 MBeanException (javax.management.MBeanException)32 MalformedObjectNameException (javax.management.MalformedObjectNameException)28 MBeanRegistrationException (javax.management.MBeanRegistrationException)25 InstanceAlreadyExistsException (javax.management.InstanceAlreadyExistsException)19 MBeanServer (javax.management.MBeanServer)17 IOException (java.io.IOException)16 AttributeNotFoundException (javax.management.AttributeNotFoundException)16 Attribute (javax.management.Attribute)15 IntrospectionException (javax.management.IntrospectionException)14 NotCompliantMBeanException (javax.management.NotCompliantMBeanException)14 AttributeList (javax.management.AttributeList)12 ObjectInstance (javax.management.ObjectInstance)12 MBeanInfo (javax.management.MBeanInfo)11 InvalidAttributeValueException (javax.management.InvalidAttributeValueException)10 RuntimeOperationsException (javax.management.RuntimeOperationsException)9 ArrayList (java.util.ArrayList)7 MBeanAttributeInfo (javax.management.MBeanAttributeInfo)7