Class NoDescriptorRegistry

java.lang.Object
org.apache.tomcat.util.modeler.Registry
org.apache.tomcat.util.modeler.NoDescriptorRegistry
All Implemented Interfaces:
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.
  • Constructor Details

    • NoDescriptorRegistry

      public NoDescriptorRegistry()
  • Method Details

    • registerComponent

      public void registerComponent(Object bean, String oname, String type) throws 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:
      Exception - if a registration error occurred
    • unregisterComponent

      public void unregisterComponent(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(List<ObjectName> mbeans, String operation, boolean failFirst) throws 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:
      Exception - Error invoking operation
    • getId

      public int getId(String domain, 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(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 String getType(ObjectName oname, 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 MBeanOperationInfo getMethodInfo(ObjectName oname, 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(Object bean, Class<?> beanClass, String type) throws 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:
      Exception - An error occurred
    • load

      public List<ObjectName> load(String sourceType, Object source, String param) throws 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:
      Exception - Error loading descriptors
    • loadDescriptors

      public void loadDescriptors(String packageName, 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(Object bean, ObjectName oname, String type) throws 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:
      Exception - Error registering component
    • unregisterComponent

      public void unregisterComponent(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 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