Class NoDescriptorRegistry

  • All Implemented Interfaces:
    javax.management.MBeanRegistration, RegistryMBean

    public class NoDescriptorRegistry
    extends Registry
    An implementation of the MBean registry that effectively disables MBean registration. This is typically used when low memory footprint is a primary concern.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addManagedBean​(ManagedBean bean)
      Add a new bean metadata to the set of beans known to this registry.
      ManagedBean findManagedBean​(java.lang.Object bean, java.lang.Class<?> beanClass, java.lang.String type)
      Find or load metadata.
      ManagedBean findManagedBean​(java.lang.String name)
      Find and return the managed bean definition for the specified bean name, if any; otherwise return null.
      int getId​(java.lang.String domain, java.lang.String name)
      Return an int ID for faster access.
      javax.management.MBeanServer getMBeanServer()
      Factory method to create (if necessary) and return our MBeanServer instance.
      javax.management.MBeanOperationInfo getMethodInfo​(javax.management.ObjectName oname, java.lang.String opName)
      Find the operation info for a method
      java.lang.String getType​(javax.management.ObjectName oname, java.lang.String attName)
      Get the type of an attribute of the object, from the metadata.
      void invoke​(java.util.List<javax.management.ObjectName> mbeans, java.lang.String operation, boolean failFirst)
      Invoke an operation on a list of mbeans.
      java.util.List<javax.management.ObjectName> load​(java.lang.String sourceType, java.lang.Object source, java.lang.String param)
      Load descriptors.
      void loadDescriptors​(java.lang.String packageName, java.lang.ClassLoader classLoader)
      Lookup the component descriptor in the package and in the parent packages.
      void registerComponent​(java.lang.Object bean, java.lang.String oname, java.lang.String type)
      Register a bean by creating a modeler mbean and adding it to the MBeanServer.
      void registerComponent​(java.lang.Object bean, javax.management.ObjectName oname, java.lang.String type)
      Register a component
      void unregisterComponent​(java.lang.String oname)
      Unregister a component.
      void unregisterComponent​(javax.management.ObjectName oname)
      Unregister a component.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NoDescriptorRegistry

        public NoDescriptorRegistry()
    • Method Detail

      • registerComponent

        public void registerComponent​(java.lang.Object bean,
                                      java.lang.String oname,
                                      java.lang.String type)
                               throws java.lang.Exception
        Description copied from class: Registry
        Register a bean by creating a modeler mbean and adding it to the MBeanServer. If metadata is not loaded, we'll look up and read a file named "mbeans-descriptors.ser" or "mbeans-descriptors.xml" in the same package or parent. If the bean is an instance of DynamicMBean. its metadata will be converted to a model mbean, and we'll wrap it so modeler services are supported. If the metadata is still not found, introspection will be used to extract it automatically. If a mbean is already registered under this name, it'll be first unregistered. If the component implements MBeanRegistration, the methods will be called. If the method has a method "setRegistry" that takes a RegistryMBean as parameter, it'll be called with the current registry.
        Specified by:
        registerComponent in interface RegistryMBean
        Overrides:
        registerComponent in class Registry
        Parameters:
        bean - Object to be registered
        oname - Name used for registration
        type - The type of the mbean, as declared in mbeans-descriptors. If null, the name of the class will be used. This can be used as a hint or by subclasses.
        Throws:
        java.lang.Exception - if a registration error occurred
      • unregisterComponent

        public void unregisterComponent​(java.lang.String oname)
        Description copied from class: Registry
        Unregister a component. We'll first check if it is registered, and mask all errors. This is mostly a helper.
        Specified by:
        unregisterComponent in interface RegistryMBean
        Overrides:
        unregisterComponent in class Registry
        Parameters:
        oname - Name used for unregistration
      • invoke

        public void invoke​(java.util.List<javax.management.ObjectName> mbeans,
                           java.lang.String operation,
                           boolean failFirst)
                    throws java.lang.Exception
        Description copied from class: Registry
        Invoke an operation on a list of mbeans. Can be used to implement lifecycle operations.
        Specified by:
        invoke in interface RegistryMBean
        Overrides:
        invoke in class Registry
        Parameters:
        mbeans - list of ObjectName on which we'll invoke the operations
        operation - Name of the operation ( init, start, stop, etc)
        failFirst - If false, exceptions will be ignored
        Throws:
        java.lang.Exception - Error invoking operation
      • getId

        public int getId​(java.lang.String domain,
                         java.lang.String name)
        Description copied from class: Registry
        Return an int ID for faster access. Will be used for notifications and for other operations we want to optimize.
        Specified by:
        getId in interface RegistryMBean
        Overrides:
        getId in class Registry
        Parameters:
        domain - Namespace
        name - Type of the notification
        Returns:
        A unique id for the domain:name combination
      • addManagedBean

        public void addManagedBean​(ManagedBean bean)
        Description copied from class: Registry
        Add a new bean metadata to the set of beans known to this registry. This is used by internal components.
        Overrides:
        addManagedBean in class Registry
        Parameters:
        bean - The managed bean to be added
      • findManagedBean

        public ManagedBean findManagedBean​(java.lang.String name)
        Description copied from class: Registry
        Find and return the managed bean definition for the specified bean name, if any; otherwise return null.
        Overrides:
        findManagedBean in class Registry
        Parameters:
        name - Name of the managed bean to be returned. Since 1.1, both short names or the full name of the class can be used.
        Returns:
        the managed bean
      • getType

        public java.lang.String getType​(javax.management.ObjectName oname,
                                        java.lang.String attName)
        Description copied from class: Registry
        Get the type of an attribute of the object, from the metadata.
        Overrides:
        getType in class Registry
        Parameters:
        oname - The bean name
        attName - The attribute name
        Returns:
        null if metadata about the attribute is not found
      • getMethodInfo

        public javax.management.MBeanOperationInfo getMethodInfo​(javax.management.ObjectName oname,
                                                                 java.lang.String opName)
        Description copied from class: Registry
        Find the operation info for a method
        Overrides:
        getMethodInfo in class Registry
        Parameters:
        oname - The bean name
        opName - The operation name
        Returns:
        the operation info for the specified operation
      • findManagedBean

        public ManagedBean findManagedBean​(java.lang.Object bean,
                                           java.lang.Class<?> beanClass,
                                           java.lang.String type)
                                    throws java.lang.Exception
        Description copied from class: Registry
        Find or load metadata.
        Overrides:
        findManagedBean in class Registry
        Parameters:
        bean - The bean
        beanClass - The bean class
        type - The registry type
        Returns:
        the managed bean
        Throws:
        java.lang.Exception - An error occurred
      • load

        public java.util.List<javax.management.ObjectName> load​(java.lang.String sourceType,
                                                                java.lang.Object source,
                                                                java.lang.String param)
                                                         throws java.lang.Exception
        Description copied from class: Registry
        Load descriptors.
        Overrides:
        load in class Registry
        Parameters:
        sourceType - The source type
        source - The bean
        param - A type to load
        Returns:
        List of descriptors
        Throws:
        java.lang.Exception - Error loading descriptors
      • loadDescriptors

        public void loadDescriptors​(java.lang.String packageName,
                                    java.lang.ClassLoader classLoader)
        Description copied from class: Registry
        Lookup the component descriptor in the package and in the parent packages.
        Overrides:
        loadDescriptors in class Registry
        Parameters:
        packageName - The package name
        classLoader - The class loader
      • registerComponent

        public void registerComponent​(java.lang.Object bean,
                                      javax.management.ObjectName oname,
                                      java.lang.String type)
                               throws java.lang.Exception
        Description copied from class: Registry
        Register a component
        Overrides:
        registerComponent in class Registry
        Parameters:
        bean - The bean
        oname - The object name
        type - The registry type
        Throws:
        java.lang.Exception - Error registering component
      • unregisterComponent

        public void unregisterComponent​(javax.management.ObjectName oname)
        Description copied from class: Registry
        Unregister a component. This is just a helper that avoids exceptions by checking if the mbean is already registered
        Overrides:
        unregisterComponent in class Registry
        Parameters:
        oname - The bean name
      • getMBeanServer

        public javax.management.MBeanServer getMBeanServer()
        Description copied from class: Registry
        Factory method to create (if necessary) and return our MBeanServer instance.
        Overrides:
        getMBeanServer in class Registry
        Returns:
        the MBean server