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 TypeMethodDescriptionvoid
addManagedBean
(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
.int
Return an int ID for faster access.Factory method to create (if necessary) and return ourMBeanServer
instance.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.void
invoke
(List<ObjectName> mbeans, String operation, boolean failFirst) Invoke an operation on a list of mbeans.Load descriptors.void
loadDescriptors
(String packageName, ClassLoader classLoader) Lookup the component descriptor in the package and in the parent packages.void
registerComponent
(Object bean, String oname, String type) Register a bean by creating a modeler mbean and adding it to the MBeanServer.void
registerComponent
(Object bean, ObjectName oname, String type) Register a componentvoid
unregisterComponent
(String oname) Unregister a component.void
unregisterComponent
(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: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 interfaceRegistryMBean
- Overrides:
registerComponent
in 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: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 interfaceRegistryMBean
- Overrides:
unregisterComponent
in classRegistry
- Parameters:
oname
- Name used for unregistration
-
invoke
Description copied from class:Registry
Invoke an operation on a list of mbeans. Can be used to implement lifecycle operations.- Specified by:
invoke
in interfaceRegistryMBean
- Overrides:
invoke
in 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: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 interfaceRegistryMBean
- Overrides:
getId
in classRegistry
- Parameters:
domain
- Namespacename
- Type of the notification- Returns:
- A unique id for the domain:name combination
-
addManagedBean
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 classRegistry
- Parameters:
bean
- The managed bean to be added
-
findManagedBean
Description copied from class:Registry
Find and return the managed bean definition for the specified bean name, if any; otherwise returnnull
.- Overrides:
findManagedBean
in 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:Registry
Get the type of an attribute of the object, from the metadata. -
getMethodInfo
Description copied from class:Registry
Find the operation info for a method- Overrides:
getMethodInfo
in classRegistry
- Parameters:
oname
- The bean nameopName
- The operation name- Returns:
- the operation info for the specified operation
-
findManagedBean
Description copied from class:Registry
Find or load metadata.- Overrides:
findManagedBean
in 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:Registry
Load descriptors. -
loadDescriptors
Description copied from class:Registry
Lookup the component descriptor in the package and in the parent packages.- Overrides:
loadDescriptors
in classRegistry
- Parameters:
packageName
- The package nameclassLoader
- The class loader
-
registerComponent
Description copied from class:Registry
Register a component- Overrides:
registerComponent
in classRegistry
- Parameters:
bean
- The beanoname
- The object nametype
- The registry type- Throws:
Exception
- Error registering component
-
unregisterComponent
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 classRegistry
- Parameters:
oname
- The bean name
-
getMBeanServer
Description copied from class:Registry
Factory method to create (if necessary) and return ourMBeanServer
instance.- Overrides:
getMBeanServer
in classRegistry
- Returns:
- the MBean server
-