JBoss.org Community Documentation
The descriptors element contains all the descriptors for a containing element, as subelements. The descriptors suggested in the JMX specification as well as those used by JBoss have predefined elements and attributes, whereas custom descriptors have a generic descriptor element with name and value attributes as show in Figure 3.7, “ The descriptors element content model”.
The key descriptors child elements include:
interceptors
: The interceptors
element specifies a customized stack of interceptors that will be used in place of the default stack. Currently this is only used when specified at the MBean level, but it could define a custom attribute or operation level interceptor stack in the future. The content of the interceptors element specifies a custom interceptor stack. If no interceptors element is specified the standard ModelMBean
interceptors will be used. The standard interceptors are:
org.jboss.mx.interceptor.PersistenceInterceptor
org.jboss.mx.interceptor.MBeanAttributeInterceptor
org.jboss.mx.interceptor.ObjectReferenceInterceptor
When specifying a custom interceptor stack you would typically include the standard interceptors along with your own unless you are replacing the corresponding standard interceptor.
Each interceptor element content value specifies the fully qualified class name of the interceptor implementation. The class must implement the org.jboss.mx.interceptor.Interceptor
interface. The interceptor class must also have either a no-arg constructor, or a constructor that accepts a javax.management.MBeanInfo
.
The interceptor elements may have any number of attributes that correspond to JavaBean style properties on the interceptor class implementation. For each interceptor
element attribute specified, the interceptor class is queried for a matching setter method. The attribute value is converted to the true type of the interceptor class property using the java.beans.PropertyEditor
associated with the type. It is an error to specify an attribute for which there is no setter or PropertyEditor
.
persistence
: The persistence
element allows the specification of the persistPolicy
, persistPeriod
, persistLocation
, and persistName
persistence attributes suggested by the JMX specification. The persistence element attributes are:
persistPolicy
: The persistPolicy
attribute defines when attributes should be persisted and its value must be one of
Never : attribute values are transient values that are never persisted
OnUpdate : attribute values are persisted whenever they are updated
OnTimer
: attribute values are persisted based on the time given by the persistPeriod
.
NoMoreOftenThan
: attribute values are persisted when updated but no more often than the persistPeriod
.
persistPeriod
: The persistPeriod
attribute gives the update frequency in milliseconds if the perisitPolicy
attribute is NoMoreOftenThan
or OnTimer
.
persistLocation
: The persistLocation
attribute specifies the location of the persistence store. Its form depends on the JMX persistence implementation. Currently this should refer to a directory into which the attributes will be serialized if using the default JBoss persistence manager.
persistName
: The persistName
attribute can be used in conjunction with the persistLocation
attribute to further qualify the persistent store location. For a directory persistLocation
the persistName
specifies the file to which the attributes are stored within the directory.
currencyTimeLimit
: The currencyTimeLimit
element specifies the time in seconds that a cached value of an attribute remains valid. Its value attribute gives the time in seconds. A value of 0 indicates that an attribute value should always be retrieved from the MBean and never cached. A value of -1 indicates that a cache value is always valid.
display-name
: The display-name
element specifies the human friendly name of an item.
default
: The default
element specifies a default value to use when a field has not been set. Note that this value is not written to the MBean on startup as is the case with the jboss-service.xml
attribute element content value. Rather, the default value is used only if there is no attribute accessor defined, and there is no value element defined.
value
: The value
element specifies a management attribute's current value. Unlike the default
element, the value
element is written through to the MBean on startup provided there is a setter method available.
persistence-manager
: The persistence-manager
element gives the name of a class to use as the persistence manager. The value
attribute specifies the class name that supplies the org.jboss.mx.persistence.PersistenceManager
interface implementation. The only implementation currently supplied by JBoss is the org.jboss.mx.persistence.ObjectStreamPersistenceManager
which serializes the ModelMBeanInfo
content to a file using Java serialization.
descriptor
: The descriptor
element specifies an arbitrary descriptor not known to JBoss. Its name
attribute specifies the type of the descriptor and its value
attribute specifies the descriptor value. The descriptor
element allows for the attachment of arbitrary management metadata.
injection
: The injection
element describes an injection point for receiving information from the microkernel. Each injection point specifies the type and the set method to use to inject the information into the resource. The injection
element supports type attributes:
id
: The id
attribute specifies the injection point type. The current injection point types are:
MBeanServerType : An MBeanServerType injection point receives a reference to the MBeanServer that the XMBean is registered with.
MBeanInfoType : An MBeanInfoType injection point receives a reference to the XMBean ModelMBeanInfo metadata.
ObjectNameType : The ObjectName injection point receives the ObjectName that the XMBean is registered under.
setMethod : The setMethod attribute gives the name of the method used to set the injection value on the resource. The set method should accept values of the type corresponding to the injection point type.
Note that any of the constructor, attribute, operation or notification elements may have a descriptors
element to specify the specification defined descriptors as well as arbitrary extension descriptor settings.