Class ObjectMBean
- java.lang.Object
-
- org.eclipse.jetty.jmx.ObjectMBean
-
- All Implemented Interfaces:
javax.management.DynamicMBean
- Direct Known Subclasses:
AbstractConnectorMBean,AbstractHandlerMBean,ConnectionStatisticsMBean,DeploymentManagerMBean,FilterMappingMBean,HolderMBean,HttpClientMBean,LogMBean,ServerMBean,ServletMappingMBean
public class ObjectMBean extends java.lang.Object implements javax.management.DynamicMBeanA dynamic MBean that can wrap an arbitrary Object instance.
The attributes and operations exposed by this bean are controlled by the merge of annotations discovered in all superclasses and all superinterfaces.
Given class
com.acme.Foo, thencom.acme.jmx.FooMBeanis searched; if found, it is instantiated with thecom.acme.Fooinstance passed to the constructor.Class
com.acme.jmx.FooMBeancan then override the default behavior of ObjectMBean and provide a custom ObjectName, or custom ObjectName propertiesnameandcontext, etc.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Object_managed
-
Constructor Summary
Constructors Constructor Description ObjectMBean(java.lang.Object managedObject)Creates a new ObjectMBean wrapping the givenmanagedObject.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.ObjectgetAttribute(java.lang.String name)javax.management.AttributeListgetAttributes(java.lang.String[] names)java.lang.ObjectgetManagedObject()MBeanContainergetMBeanContainer()javax.management.MBeanInfogetMBeanInfo()java.lang.StringgetObjectContextBasis()Allows to customize the ObjectName propertycontext.javax.management.ObjectNamegetObjectName()Allows to customize the ObjectName of this MBean.java.lang.StringgetObjectNameBasis()Allows to customize the ObjectName propertyname.java.lang.Objectinvoke(java.lang.String name, java.lang.Object[] params, java.lang.String[] signature)static java.lang.ObjectmbeanFor(java.lang.Object o)Deprecated.UseMBeanContainer.mbeanFor(Object)insteadvoidsetAttribute(javax.management.Attribute attribute)javax.management.AttributeListsetAttributes(javax.management.AttributeList attributes)protected voidsetMBeanContainer(MBeanContainer container)
-
-
-
Method Detail
-
getManagedObject
public java.lang.Object getManagedObject()
- Returns:
- the managed object
-
getObjectName
public javax.management.ObjectName getObjectName()
Allows to customize the ObjectName of this MBean.
- Returns:
- a custom ObjectName, or null to indicate to
MBeanContainerto create a default ObjectName
-
getObjectContextBasis
public java.lang.String getObjectContextBasis()
Allows to customize the ObjectName property
context.When
MBeanContainercreates default ObjectNames, thecontextproperty is "inherited" recursively by MBeans that are children of this MBean; this allows to "group" descendant MBeans so that it is clear who is the ancestor they belong to.For example, if object A has a child component B which has children components C, then AMBean can override this method to return "alpha", and then the ObjectNames will be:
- domain:type=a,context=alpha,id=0
- domain:type=b,context=alpha,id=0
- domain:type=c,context=alpha,id=0
- domain:type=c,context=alpha,id=1
- Returns:
- a custom value for the property
context
-
getObjectNameBasis
public java.lang.String getObjectNameBasis()
Allows to customize the ObjectName property
name.Certain components have a natural name and returning it from this method allows it to be part of the ObjectName.
- Returns:
- a custom value for the property
name
-
setMBeanContainer
protected void setMBeanContainer(MBeanContainer container)
-
getMBeanContainer
public MBeanContainer getMBeanContainer()
-
mbeanFor
@Deprecated public static java.lang.Object mbeanFor(java.lang.Object o)
Deprecated.UseMBeanContainer.mbeanFor(Object)instead- Parameters:
o- the object to wrap as MBean- Returns:
- a new instance of an MBean for the object or null if the MBean cannot be created
-
getMBeanInfo
public javax.management.MBeanInfo getMBeanInfo()
- Specified by:
getMBeanInfoin interfacejavax.management.DynamicMBean
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name) throws javax.management.AttributeNotFoundException, javax.management.ReflectionException, javax.management.MBeanException- Specified by:
getAttributein interfacejavax.management.DynamicMBean- Throws:
javax.management.AttributeNotFoundExceptionjavax.management.ReflectionExceptionjavax.management.MBeanException
-
getAttributes
public javax.management.AttributeList getAttributes(java.lang.String[] names)
- Specified by:
getAttributesin interfacejavax.management.DynamicMBean
-
setAttribute
public void setAttribute(javax.management.Attribute attribute) throws javax.management.AttributeNotFoundException, javax.management.ReflectionException, javax.management.MBeanException- Specified by:
setAttributein interfacejavax.management.DynamicMBean- Throws:
javax.management.AttributeNotFoundExceptionjavax.management.ReflectionExceptionjavax.management.MBeanException
-
setAttributes
public javax.management.AttributeList setAttributes(javax.management.AttributeList attributes)
- Specified by:
setAttributesin interfacejavax.management.DynamicMBean
-
invoke
public java.lang.Object invoke(java.lang.String name, java.lang.Object[] params, java.lang.String[] signature) throws javax.management.ReflectionException, javax.management.MBeanException- Specified by:
invokein interfacejavax.management.DynamicMBean- Throws:
javax.management.ReflectionExceptionjavax.management.MBeanException
-
-