Class NoDescriptorRegistry
java.lang.Object
org.apache.tomcat.util.modeler.Registry
org.apache.tomcat.util.modeler.NoDescriptorRegistry
- All Implemented Interfaces:
MBeanRegistration,RegistryMBean
An implementation of the MBean registry that effectively disables MBean
registration. This is typically used when low memory footprint is a primary
concern.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddManagedBean(ManagedBean bean) Add a new bean metadata to the set of beans known to this registry.findManagedBean(Object bean, Class<?> beanClass, String type) Find or load metadata.findManagedBean(String name) Find and return the managed bean definition for the specified bean name, if any; otherwise returnnull.intReturn an int ID for faster access.Factory method to create (if necessary) and return ourMBeanServerinstance.getMethodInfo(ObjectName oname, String opName) Find the operation info for a methodgetType(ObjectName oname, String attName) Get the type of an attribute of the object, from the metadata.voidinvoke(List<ObjectName> mbeans, String operation, boolean failFirst) Invoke an operation on a list of mbeans.Load descriptors.voidloadDescriptors(String packageName, ClassLoader classLoader) Lookup the component descriptor in the package and in the parent packages.voidregisterComponent(Object bean, String oname, String type) Register a bean by creating a modeler mbean and adding it to the MBeanServer.voidregisterComponent(Object bean, ObjectName oname, String type) Register a componentvoidunregisterComponent(String oname) Unregister a component.voidunregisterComponent(ObjectName oname) Unregister a component.Methods inherited from class org.apache.tomcat.util.modeler.Registry
convertValue, disableRegistry, getMethodInfo, getRegistry, getRegistry, postDeregister, postRegister, preDeregister, preRegister, stop
-
Constructor Details
-
NoDescriptorRegistry
public NoDescriptorRegistry()
-
-
Method Details
-
registerComponent
Description copied from class:RegistryRegister 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:
registerComponentin interfaceRegistryMBean- Overrides:
registerComponentin classRegistry- Parameters:
bean- Object to be registeredoname- Name used for registrationtype- 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
Description copied from class:RegistryUnregister a component. We'll first check if it is registered, and mask all errors. This is mostly a helper.- Specified by:
unregisterComponentin interfaceRegistryMBean- Overrides:
unregisterComponentin classRegistry- Parameters:
oname- Name used for unregistration
-
invoke
Description copied from class:RegistryInvoke an operation on a list of mbeans. Can be used to implement lifecycle operations.- Specified by:
invokein interfaceRegistryMBean- Overrides:
invokein classRegistry- Parameters:
mbeans- list of ObjectName on which we'll invoke the operationsoperation- Name of the operation ( init, start, stop, etc)failFirst- If false, exceptions will be ignored- Throws:
Exception- Error invoking operation
-
getId
Description copied from class:RegistryReturn an int ID for faster access. Will be used for notifications and for other operations we want to optimize.- Specified by:
getIdin interfaceRegistryMBean- Overrides:
getIdin classRegistry- Parameters:
domain- Namespacename- Type of the notification- Returns:
- A unique id for the domain:name combination
-
addManagedBean
Description copied from class:RegistryAdd a new bean metadata to the set of beans known to this registry. This is used by internal components.- Overrides:
addManagedBeanin classRegistry- Parameters:
bean- The managed bean to be added
-
findManagedBean
Description copied from class:RegistryFind and return the managed bean definition for the specified bean name, if any; otherwise returnnull.- Overrides:
findManagedBeanin classRegistry- 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
Description copied from class:RegistryGet the type of an attribute of the object, from the metadata. -
getMethodInfo
Description copied from class:RegistryFind the operation info for a method- Overrides:
getMethodInfoin classRegistry- Parameters:
oname- The bean nameopName- The operation name- Returns:
- the operation info for the specified operation
-
findManagedBean
Description copied from class:RegistryFind or load metadata.- Overrides:
findManagedBeanin classRegistry- Parameters:
bean- The beanbeanClass- The bean classtype- The registry type- Returns:
- the managed bean
- Throws:
Exception- An error occurred
-
load
Description copied from class:RegistryLoad descriptors. -
loadDescriptors
Description copied from class:RegistryLookup the component descriptor in the package and in the parent packages.- Overrides:
loadDescriptorsin classRegistry- Parameters:
packageName- The package nameclassLoader- The class loader
-
registerComponent
Description copied from class:RegistryRegister a component- Overrides:
registerComponentin classRegistry- Parameters:
bean- The beanoname- The object nametype- The registry type- Throws:
Exception- Error registering component
-
unregisterComponent
Description copied from class:RegistryUnregister a component. This is just a helper that avoids exceptions by checking if the mbean is already registered- Overrides:
unregisterComponentin classRegistry- Parameters:
oname- The bean name
-
getMBeanServer
Description copied from class:RegistryFactory method to create (if necessary) and return ourMBeanServerinstance.- Overrides:
getMBeanServerin classRegistry- Returns:
- the MBean server
-