java.lang.Object javax.management.MBeanInfo javax.management.modelmbean.ModelMBeanInfoSupport
public class ModelMBeanInfoSupport
This class represents the meta data for ModelMBeans. Descriptors have been added on the meta data objects.
Java resources wishing to be manageable instantiate the ModelMBean using the MBeanServer's createMBean method. The resource then sets the ModelMBeanInfo and Descriptors for the ModelMBean instance. The attributes and operations exposed via the ModelMBeanInfo for the ModelMBean are accessible from MBeans, connectors/adaptors like other MBeans. Through the Descriptors, values and methods in the managed application can be defined and mapped to attributes and operations of the ModelMBean. This mapping can be defined during development in a file or dynamically and programmatically at runtime.
Every ModelMBean which is instantiated in the MBeanServer becomes manageable: its attributes and operations become remotely accessible through the connectors/adaptors connected to that MBeanServer. A Java object cannot be registered in the MBeanServer unless it is a JMX compliant MBean. By instantiating a ModelMBean, resources are guaranteed that the MBean is valid. MBeanException and RuntimeOperationsException must be thrown on every public method. This allows for wrapping exceptions from distributed communications (RMI, EJB, etc.)
The serialVersionUID of this class is -1935722590756516193L.
Constructor Summary | |
---|---|
ModelMBeanInfoSupport
(
ModelMBeanInfo
Constructs a ModelMBeanInfoSupport which is a duplicate of the given ModelMBeanInfo. |
|
ModelMBeanInfoSupport
(
String
className,
String
description,
ModelMBeanAttributeInfo
[] attributes,
ModelMBeanConstructorInfo
[] constructors,
ModelMBeanOperationInfo
[] operations,
ModelMBeanNotificationInfo
[] notifications) Creates a ModelMBeanInfoSupport with the provided information, but the descriptor is a default. |
|
ModelMBeanInfoSupport
(
String
className,
String
description,
ModelMBeanAttributeInfo
[] attributes,
ModelMBeanConstructorInfo
[] constructors,
ModelMBeanOperationInfo
[] operations,
ModelMBeanNotificationInfo
[] notifications,
Descriptor
mbeandescriptor) Creates a ModelMBeanInfoSupport with the provided information and the descriptor given in parameter. |
Method Summary | |
---|---|
Object |
clone
() Returns a shallow clone of this instance. |
ModelMBeanAttributeInfo |
getAttribute
(
String
inName) Returns a ModelMBeanAttributeInfo requested by name. |
ModelMBeanConstructorInfo |
getConstructor
(
String
inName) Returns the ModelMBeanConstructorInfo requested by name. |
Descriptor |
getDescriptor
() Get the descriptor of this MBeanInfo. |
Descriptor |
getDescriptor
(
String
inDescriptorName) Returns a Descriptor requested by name. |
Descriptor |
getDescriptor
(
String
inDescriptorName,
String
inDescriptorType) Returns a Descriptor requested by name and descriptorType. |
Descriptor [] |
getDescriptors
(
String
inDescriptorType) Returns a Descriptor array consisting of all Descriptors for the ModelMBeanInfo of type inDescriptorType. |
Descriptor |
getMBeanDescriptor
() Returns the ModelMBean's descriptor which contains MBean wide policies. |
ModelMBeanNotificationInfo |
getNotification
(
String
inName) Returns a ModelMBeanNotificationInfo requested by name. |
ModelMBeanOperationInfo |
getOperation
(
String
inName) Returns a ModelMBeanOperationInfo requested by name. |
void |
setDescriptor
(
Descriptor
inDescriptor,
String
inDescriptorType) Sets descriptors in the info array of type inDescriptorType for the ModelMBean. |
void |
setDescriptors
(
Descriptor
[] inDescriptors) Adds or replaces descriptors in the ModelMBeanInfo. |
void |
setMBeanDescriptor
(
Descriptor
inMBeanDescriptor) Sets the ModelMBean's descriptor. |
Methods inherited from class javax.management. MBeanInfo |
---|
equals , getAttributes , getClassName , getConstructors , getDescription , getNotifications , getOperations , hashCode , toString |
Methods inherited from class java.lang. Object |
---|
finalize , getClass , notify , notifyAll , wait , wait , wait |
Methods inherited from interface javax.management.modelmbean. ModelMBeanInfo |
---|
getAttributes , getClassName , getConstructors , getDescription , getNotifications , getOperations |
Constructor Detail |
---|
public ModelMBeanInfoSupport(ModelMBeanInfo mbi)
public ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications)
public ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications, Descriptor mbeandescriptor)
Method Detail |
---|
public Object clone()
Returns a shallow clone of this instance.
Neither the Descriptor nor the contained arrays (ModelMBeanAttributeInfo[] etc) are cloned. This method is chiefly of interest to modify the Descriptor of the clone via
setDescriptor
without affecting the Descriptor of the original object.
The clone is obtained by simply calling
super.clone()
, thus calling the default native shallow cloning mechanism implemented by
Object.clone()
. No deeper cloning of any internal field is made.
Since this class is immutable, the clone method is chiefly of interest to subclasses.
public Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
public void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
public Descriptor getDescriptor(String inDescriptorName) throws MBeanException, RuntimeOperationsException
public Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException
public void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
public ModelMBeanAttributeInfo getAttribute(String inName) throws MBeanException, RuntimeOperationsException
public ModelMBeanOperationInfo getOperation(String inName) throws MBeanException, RuntimeOperationsException
public ModelMBeanConstructorInfo getConstructor(String inName) throws MBeanException, RuntimeOperationsException
public ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException
public Descriptor getDescriptor()
public Descriptor getMBeanDescriptor() throws MBeanException
The fields in the descriptor are defined, but not limited to, the following:
name : MBean name descriptorType : must be "mbean" displayName : name of attribute to be used in displays persistPolicy : OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never persistLocation : The fully qualified directory name where the MBean should be persisted (if appropriate) persistFile : File name into which the MBean should be persisted persistPeriod : seconds - frequency of persist cycle for OnTime and NoMoreOftenThan PersistPolicy currencyTimeLimit : how long value is valid, <0 never, =0 always, >0 seconds log : where t: log all notifications f: log no notifications logfile : fully qualified filename to log events to visibility : 1-4 where 1: always visible 4: rarely visible export : name to be used to export/expose this MBean so that it is findable by other JMX Agents. presentationString : xml formatted string to allow presentation of data to be associated with the MBean.
The default descriptor is: name=mbeanName,descriptorType=mbean, displayName=this.getClassName(), persistPolicy=never,log=F,export=F,visibility=1 If the descriptor does not contain all these fields, they will be added with these default values.
Note: because of inconsistencies in previous versions of this specification, it is recommended not to use negative or zero values for currencyTimeLimit. To indicate that a cached value is never valid, omit the currencyTimeLimit field. To indicate that it is always valid, use a very large number for this field.
public void setMBeanDescriptor(Descriptor inMBeanDescriptor) throws MBeanException, RuntimeOperationsException