| java.lang.Object org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler
All known Subclasses: org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler,
AbstractMBeanInfoAssembler | abstract public class AbstractMBeanInfoAssembler implements MBeanInfoAssembler(Code) | | 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:
AbstractMBeanInfoAssembler.getTargetClass , extracting the target class behind
any kind of AOP proxy, and
AbstractMBeanInfoAssembler.getClassToExpose , returning the
class or interface that will be searched for annotations and exposed
to the JMX runtime.
author: Rob Harrop author: Juergen Hoeller since: 1.2 |
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. | abstract protected 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(Object managedBean) Return the class or interface to expose for the given bean. | protected Class | getClassToExpose(Class beanClass) Return the class or interface to expose for the given bean class. | 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. | public 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. | abstract protected 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 .
Subclasses can implement this method to add additional descriptors to the
MBean metadata. |
checkManagedBean | protected void checkManagedBean(Object managedBean) throws IllegalArgumentException(Code) | | Check the given bean instance, throwing an IllegalArgumentException
if it is not eligible for exposure with this assembler.
Default implementation is empty, accepting every bean instance.
Parameters: managedBean - the bean that will be exposed (might be an AOP proxy) throws: IllegalArgumentException - the bean is not valid for exposure |
getAttributeInfo | abstract protected ModelMBeanAttributeInfo[] getAttributeInfo(Object managedBean, String beanKey) throws JMException(Code) | | Get the attribute metadata for the MBean resource. Subclasses should implement
this method to return the appropriate metadata for all the attributes that should
be exposed in the management interface for the managed resource.
Parameters: managedBean - the bean instance (might be an AOP proxy) Parameters: beanKey - the key associated with the MBean in the beans mapof the MBeanExporter the attribute metadata throws: JMException - in case of errors |
getClassName | protected String getClassName(Object managedBean, String beanKey) throws JMException(Code) | | Get the class name of the MBean resource.
Default implementation returns a simple description for the MBean
based on the class name.
Parameters: managedBean - the bean instance (might be an AOP proxy) Parameters: beanKey - the key associated with the MBean in the beans mapof the MBeanExporter the MBean description throws: JMException - in case of errors |
getClassToExpose | protected Class getClassToExpose(Object managedBean)(Code) | | Return the class or interface to expose for the given bean.
This is the class that will be searched for attributes and operations
(for example, checked for annotations).
Parameters: managedBean - the bean instance (might be an AOP proxy) the bean class to expose See Also: JmxUtils.getClassToExpose(Object) See Also: |
getClassToExpose | protected Class getClassToExpose(Class beanClass)(Code) | | Return the class or interface to expose for the given bean class.
This is the class that will be searched for attributes and operations
Parameters: beanClass - the bean class (might be an AOP proxy class) the bean class to expose See Also: JmxUtils.getClassToExpose(Class) |
getConstructorInfo | protected ModelMBeanConstructorInfo[] getConstructorInfo(Object managedBean, String beanKey) throws JMException(Code) | | Get the constructor metadata for the MBean resource. Subclasses should implement
this method to return the appropriate metadata for all constructors that should
be exposed in the management interface for the managed resource.
Default implementation returns an empty array of ModelMBeanConstructorInfo .
Parameters: managedBean - the bean instance (might be an AOP proxy) Parameters: beanKey - the key associated with the MBean in the beans mapof the MBeanExporter the constructor metadata throws: JMException - in case of errors |
getDescription | protected String getDescription(Object managedBean, String beanKey) throws JMException(Code) | | Get the description of the MBean resource.
Default implementation returns a simple description for the MBean
based on the class name.
Parameters: managedBean - the bean instance (might be an AOP proxy) Parameters: beanKey - the key associated with the MBean in the beans mapof the MBeanExporter throws: JMException - in case of errors |
getNotificationInfo | protected ModelMBeanNotificationInfo[] getNotificationInfo(Object managedBean, String beanKey) throws JMException(Code) | | Get the notification metadata for the MBean resource. Subclasses should implement
this method to return the appropriate metadata for all notifications that should
be exposed in the management interface for the managed resource.
Default implementation returns an empty array of ModelMBeanNotificationInfo .
Parameters: managedBean - the bean instance (might be an AOP proxy) Parameters: beanKey - the key associated with the MBean in the beans mapof the MBeanExporter the notification metadata throws: JMException - in case of errors |
getOperationInfo | abstract protected ModelMBeanOperationInfo[] getOperationInfo(Object managedBean, String beanKey) throws JMException(Code) | | Get the operation metadata for the MBean resource. Subclasses should implement
this method to return the appropriate metadata for all operations that should
be exposed in the management interface for the managed resource.
Parameters: managedBean - the bean instance (might be an AOP proxy) Parameters: beanKey - the key associated with the MBean in the beans mapof the MBeanExporter the operation metadata throws: JMException - in case of errors |
getTargetClass | protected Class getTargetClass(Object managedBean)(Code) | | Return the actual bean class of the given bean instance.
This is the class exposed to description-style JMX properties.
Default implementation returns the target class for an AOP proxy,
and the plain bean class else.
Parameters: managedBean - the bean instance (might be an AOP proxy) the bean class to expose See Also: org.springframework.aop.framework.AopProxyUtils.getTargetClass |
populateMBeanDescriptor | protected void populateMBeanDescriptor(Descriptor descriptor, Object managedBean, String beanKey) throws JMException(Code) | | Called after the 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.
Parameters: descriptor - the Descriptor for the MBean resource. Parameters: managedBean - the bean instance (might be an AOP proxy) Parameters: beanKey - the key associated with the MBean in the beans mapof the MBeanExporter throws: JMException - in case of errors |
|
|