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 a 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)
      Experimental.
      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. it's metadata will be converted to a model mbean and we'll wrap it - so modeler services will be supported If the metadata is still not found, introspection will be used to extract it automatically. If an 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 a 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
        Experimental. 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