|
|||||||||
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(Object managedBean)
Check the given bean instance, throwing an IllegalArgumentException if it is not eligible for exposure with this assembler. |
protected abstract ModelMBeanAttributeInfo[] |
getAttributeInfo(Object managedBean,
String beanKey)
Get the attribute metadata for the MBean resource. |
protected String |
getClassName(Object managedBean,
String beanKey)
Get the class name of the MBean resource. |
protected Class<?> |
getClassToExpose(Class<?> beanClass)
Return the class or interface to expose for the given bean class. |
protected Class<?> |
getClassToExpose(Object managedBean)
Return the class or interface to expose for the given bean. |
protected ModelMBeanConstructorInfo[] |
getConstructorInfo(Object managedBean,
String beanKey)
Get the constructor metadata for the MBean resource. |
protected String |
getDescription(Object managedBean,
String beanKey)
Get the description of the MBean resource. |
ModelMBeanInfo |
getMBeanInfo(Object managedBean,
String beanKey)
Create an instance of the ModelMBeanInfoSupport class supplied with all
JMX implementations and populates the metadata through calls to the subclass. |
protected ModelMBeanNotificationInfo[] |
getNotificationInfo(Object managedBean,
String beanKey)
Get the notification metadata for the MBean resource. |
protected abstract ModelMBeanOperationInfo[] |
getOperationInfo(Object managedBean,
String beanKey)
Get the operation metadata for the MBean resource. |
protected Class |
getTargetClass(Object managedBean)
Return the actual bean class of the given bean instance. |
protected void |
populateMBeanDescriptor(Descriptor descriptor,
Object managedBean,
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 ModelMBeanInfo getMBeanInfo(Object managedBean, String beanKey) throws 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
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(Object managedBean) throws IllegalArgumentException
Default implementation is empty, accepting every bean instance.
managedBean
- the bean that will be exposed (might be an AOP proxy)
IllegalArgumentException
- the bean is not valid for exposureprotected Class getTargetClass(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 Class<?> getClassToExpose(Object managedBean)
managedBean
- the bean instance (might be an AOP proxy)
JmxUtils.getClassToExpose(Object)
protected Class<?> getClassToExpose(Class<?> beanClass)
beanClass
- the bean class (might be an AOP proxy class)
JmxUtils.getClassToExpose(Class)
protected String getClassName(Object managedBean, String beanKey) throws 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
JMException
- in case of errorsprotected String getDescription(Object managedBean, String beanKey) throws 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
JMException
- in case of errorsprotected void populateMBeanDescriptor(Descriptor descriptor, Object managedBean, String beanKey) throws 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
JMException
- in case of errorsprotected ModelMBeanConstructorInfo[] getConstructorInfo(Object managedBean, String beanKey) throws 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
JMException
- in case of errorsprotected ModelMBeanNotificationInfo[] getNotificationInfo(Object managedBean, String beanKey) throws 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
JMException
- in case of errorsprotected abstract ModelMBeanAttributeInfo[] getAttributeInfo(Object managedBean, String beanKey) throws JMException
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
JMException
- in case of errorsprotected abstract ModelMBeanOperationInfo[] getOperationInfo(Object managedBean, String beanKey) throws JMException
managedBean
- the bean instance (might be an AOP proxy)beanKey
- the key associated with the MBean in the beans map
of the MBeanExporter
JMException
- in case of errors
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |