|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler
public abstract class AbstractMBeanInfoAssembler
Abstract implementation of the MBeanInfoAssembler
interface
that encapsulates the creation of a ModelMBeanInfo
instance
but delegates the creation of metadata to subclasses.
This class offers two flavors of Class extraction from a managed bean
instance: getTargetClass(java.lang.Object)
, extracting the target class behind
any kind of AOP proxy, and getClassToExpose(java.lang.Object)
, returning the
class or interface that will be searched for annotations and exposed
to the JMX runtime.
Constructor Summary | |
---|---|
AbstractMBeanInfoAssembler()
|
Method Summary | |
---|---|
protected void |
checkManagedBean(java.lang.Object managedBean)
Check the given bean instance, throwing an IllegalArgumentException if it is not eligible for exposure with this assembler. |
protected abstract javax.management.modelmbean.ModelMBeanAttributeInfo[] |
getAttributeInfo(java.lang.Object managedBean,
java.lang.String beanKey)
Get the attribute metadata for the MBean resource. |
protected java.lang.String |
getClassName(java.lang.Object managedBean,
java.lang.String beanKey)
Get the class name of the MBean resource. |
protected java.lang.Class<?> |
getClassToExpose(java.lang.Class<?> beanClass)
Return the class or interface to expose for the given bean class. |
protected java.lang.Class<?> |
getClassToExpose(java.lang.Object managedBean)
Return the class or interface to expose for the given bean. |
protected javax.management.modelmbean.ModelMBeanConstructorInfo[] |
getConstructorInfo(java.lang.Object managedBean,
java.lang.String beanKey)
Get the constructor metadata for the MBean resource. |
protected java.lang.String |
getDescription(java.lang.Object managedBean,
java.lang.String beanKey)
Get the description of the MBean resource. |
javax.management.modelmbean.ModelMBeanInfo |
getMBeanInfo(java.lang.Object managedBean,
java.lang.String beanKey)
Create an instance of the ModelMBeanInfoSupport class supplied with all
JMX implementations and populates the metadata through calls to the subclass. |
protected javax.management.modelmbean.ModelMBeanNotificationInfo[] |
getNotificationInfo(java.lang.Object managedBean,
java.lang.String beanKey)
Get the notification metadata for the MBean resource. |
protected abstract javax.management.modelmbean.ModelMBeanOperationInfo[] |
getOperationInfo(java.lang.Object managedBean,
java.lang.String beanKey)
Get the operation metadata for the MBean resource. |
protected java.lang.Class |
getTargetClass(java.lang.Object managedBean)
Return the actual bean class of the given bean instance. |
protected void |
populateMBeanDescriptor(javax.management.Descriptor descriptor,
java.lang.Object managedBean,
java.lang.String beanKey)
Called after the ModelMBeanInfo instance has been constructed but
before it is passed to the MBeanExporter . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AbstractMBeanInfoAssembler()
Method Detail |
---|
public javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
ModelMBeanInfoSupport
class supplied with all
JMX implementations and populates the metadata through calls to the subclass.
getMBeanInfo
in interface MBeanInfoAssembler
managedBean
- the bean that will be exposed (might be an AOP proxy)beanKey
- the key associated with the managed bean
javax.management.JMException
- in case of errorsgetDescription(Object, String)
,
getAttributeInfo(Object, String)
,
getConstructorInfo(Object, String)
,
getOperationInfo(Object, String)
,
getNotificationInfo(Object, String)
,
populateMBeanDescriptor(javax.management.Descriptor, Object, String)
protected void checkManagedBean(java.lang.Object managedBean) throws java.lang.IllegalArgumentException
Default implementation is empty, accepting every bean instance.
managedBean
- the bean that will be exposed (might be an AOP proxy)
java.lang.IllegalArgumentException
- the bean is not valid for exposureprotected java.lang.Class getTargetClass(java.lang.Object managedBean)
Default implementation returns the target class for an AOP proxy, and the plain bean class else.
managedBean
- the bean instance (might be an AOP proxy)
org.springframework.aop.framework.AopProxyUtils#getTargetClass
protected java.lang.Class<?> getClassToExpose(java.lang.Object managedBean)
managedBean
- the bean instance (might be an AOP proxy)
JmxUtils.getClassToExpose(Object)
protected java.lang.Class<?> getClassToExpose(java.lang.Class<?> beanClass)
beanClass
- the bean class (might be an AOP proxy class)
JmxUtils.getClassToExpose(Class)
protected java.lang.String getClassName(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
Default implementation returns a simple description for the MBean based on the class name.
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
javax.management.JMException
- in case of errorsprotected java.lang.String getDescription(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
Default implementation returns a simple description for the MBean based on the class name.
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
javax.management.JMException
- in case of errorsprotected void populateMBeanDescriptor(javax.management.Descriptor descriptor, java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
ModelMBeanInfo
instance has been constructed but
before it is passed to the MBeanExporter
.
Subclasses can implement this method to add additional descriptors to the MBean metadata. Default implementation is empty.
descriptor
- the Descriptor
for the MBean resource.managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
javax.management.JMException
- in case of errorsprotected javax.management.modelmbean.ModelMBeanConstructorInfo[] getConstructorInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
Default implementation returns an empty array of ModelMBeanConstructorInfo
.
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
javax.management.JMException
- in case of errorsprotected javax.management.modelmbean.ModelMBeanNotificationInfo[] getNotificationInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
Default implementation returns an empty array of ModelMBeanNotificationInfo
.
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
javax.management.JMException
- in case of errorsprotected abstract javax.management.modelmbean.ModelMBeanAttributeInfo[] getAttributeInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
javax.management.JMException
- in case of errorsprotected abstract javax.management.modelmbean.ModelMBeanOperationInfo[] getOperationInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
javax.management.JMException
- in case of errors
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |